package sounds;
import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.DataLine;
import javax.sound.sampled.FloatControl;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.SourceDataLine;

import util.AudioClipBalanced;
/** <p>An object implementing {@link java.applet.AudioClip java.applet.AudioClip} with the data from drum-08.wav hard-coded into it.</p>
 * <p>Created with the <a href="http://stephengware.com/projects/soundtoclass">SoundToClass tool</a>, by Stephen G. Ware.</p>
 * @author Stephen G. Ware */
public class Drum08 implements AudioClipBalanced {
	private byte[] data;
	private AudioFormat format;
	private DataLine.Info lineInfo = null;
	private PlayThread playThread = null;
	private LoopThread loopThread = null;
	private static final long serialVersionUID = 22040;
	private static byte[] data0(){ return new byte[] {1,0,30,11,68,22,28,33,-122,43,94,53,-115,62,-11,70,120,78,22,85,124,90,12,95,-128,98,-41,100,45,102,98,102,-89,101,-17,99,95,97,-5,93,-32,89,49,85,15,80,-126,74,-71,68,-65,62,-58,56,-50,50,14,45,125,39,93,34,-122,29,47,25,70,21,-18,17,21,15,-60,12,-8,10,-97,9,-68,8,97,8,46,8,70,8,-124,8,-31,8,68,9,-107,9,-59,9,-64,9,-100,9,-7,8,-23,7,110,6,123,4,5,2,25,-1,-91,-5,-66,-9,98,-13,-56,-18,-82,-23,81,-28,-70,-34,12,-39,75,-45,-96,-51,20,-56,-52,-62,-45,-67,86,-71,70,-75,-53,-79,-14,-82,-51,-84,99,-85,-67,-86,-28,-86,-45,-85,-113,-83,0,-80,58,-77,36,-73,-81,-69,-54,-64,98,-58,95,-52,-77,-46,55,-39,-23,-33,110,-26,24,-19,-114,-13,-44,-7,-59,-1,84,5,124,10,30,15,67,19,-84,22,-78,25,46,28,24,30,127,31,104,32,-32,32,-10,32,-72,32,51,32,95,31,-118,30,-75,29,-36,28,38,28,-107,27,62,27,54,27,116,27,22,28,8,29,105,30,53,32,88,34,-37,36,-84,39,-59,42,16,46,-123,49,5,53,-102,56,2,60,69,63,63,66,-32,68,19,71,-65,72,-42,73,70,74,-2,73,28,73,77,71,-81,68,66,65,4,61,2,56,52,50,-64,43,-110,36,13,29,-47,20,55,12,72,3,40,-6,-14,-16,-68,-25,-84,-34,-43,-43,88,-51,114,-59,-12,-67,19,-73,-18,-80,-123,-85,-8,-90,68,-93,117,-96,-108,-98,-109,-99,-112,-99,84,-98,-4,-97,93,-94,-121,-91,80,-87,-77,-83,-106,-78,-30,-73,-121,-67,82,-61,94,-55,106,-49,127,-43,115,-37,61,-31,-44,-26,22,-20,18,-15,-93,-11,-72,-7,127,-3,-27,0,-36,3,113,6,-86,8,-118,10,31,12,114,13,100,14,87,15,51,16,-11,16,-60,17,-115,18,122,19,123,20,-82,21,4,23,121,24,56,26,62,28,112,30,-40,32,109,35,41,38,1,41,-15,43,-33,46,-63,49,-100,52,81,55,-35,57,31,60,35,62,-63,63,1,65,-50,65,32,66,7,66,86,65,34,64,98,62,28,60,81,57,8,54,74,50,25,46,-114,41,-57,36,-91,31,63,26,-69,20,29,15,117,9,-31,3,92,-2,10,-7,19,-12,59,-17,-78,-22,-123,-26,-75,-30,83,-33,85,-36,-52,-39,-87,-41,-7,-43,-53,-44,-33,-45,79,-45,13,-45,22,-45,91,-45,-49,-45,110,-44,37,-43,-21,-43,-62,-42,-124,-41,54,-40,-46,-40,76,-39,-89,-39,-44,-39,-29,-39,-67,-39,125,-39,1,-39,122,-40,-41,-41,40,-41,113,-42,-66,-43,28,-43,-105,-44,51,-44,14,-44,-12,-45,90,-44,-2,-44,20,-42,125,-41,94,-39,-83,-37,106,-34,-91,-31,28,-27,59,-23,-72,-19,-98,-14,-32,-9,107,-3,67,3,70,9,122,15,-67,21,-23,27,40,34,77,40,63,46,-8,51,89,57,98,62,-8,66,22,71,-84,74,-93,77,23,80,-30,81,25,83,-96,83,-116,83,-46,82,127,81,-113,79,23,77,30,74,-91,70,-74,66,105,62,-61,57,-39,52,-76,47,98,42,-7,36,122,31,33,26,-82,20,83,15,26,10,8,5,43,0,-128,-5,28,-9,-15,-14,55,-17,-99,-21,66,-24,53,-27,106,-30,-36,-33,-107,-35,126,-37,-91,-39,-7,-41,-99,-42,72,-43,21,-44,4,-45,17,-46,51,-47,114,-48,-65,-49,38,-49,-101,-50,53,-50,-50,-51,-125,-51,76,-51,47,-51,51,-51,79,-51,-102,-51,0,-50,-101,-50,79,-49,69,-48,107,-47,-52,-46,95,-44,49,-42,59,-40,125,-38,-4,-36,-82,-33,117,-30,-114,-27,-47,-24,65,-20,-49,-17,125,-13,68,-9,20,-5,-11,-2,-84,2,-125,6,85,10,10,14,-84,17,40,21,-128,24,-83,27,-91,30,110,33,-40,35,45,38,65,40,27,42,-79,43,15,45,40,46,12,47,-79,47,31,48,82,48,88,48,60,48,-22,47,124,47,-30,46,49,46,94,45,117,44,117,43,112,42,76,41,30,40,-38,38,-113,37,49,36,-54,34,78,33,-49,31,47,30,-80,28,-18,26,38,25,60,23,65,21,41,19,-11,16,-87,14,57,12,-41,9,47,7,103,4,-120,1,-121,-2,112,-5,64,-8,-3,-12,-88,-15,70,-18,-1,-22,-117,-25,38,-28,-69,-32,103,-35,35,-38,-8,-42,-17,-45,9,-47,83,-50,-41,-53,-118,-55,118,-57,-86,-59,32,-60,-25,-62,-6,-63,98,-63,31,-63,51,-63,-108,-63,87,-62,118,-61,-22,-60,-70,-58,-38,-56,81,-53,21,-50,34,-47,-127,-44,-14,-41,-48,-37,-42,-33,21,-28,126,-24,4,-19,-82,-15,104,-10,50,-5,-38,-1,-87,4,107,9,32,14,-68,18,55,23,-113,27,-72,31,-81,35,111,39,-49,42,17,46,3,49,-82,51,12,54,17,56,-55,57,36,59,46,60,-34,60,48,61,49,61}; }
	private static byte[] data1(){ return new byte[] {-24,60,67,60,86,59,25,58,-105,56,-53,54,-52,52,-127,50,35,48,123,45,-77,42,-59,39,-71,36,-105,33,104,30,33,27,-27,23,-103,20,120,17,65,14,20,11,-9,7,-13,4,-3,1,37,-1,103,-4,-65,-7,93,-9,-16,-12,-97,-14,104,-16,78,-18,77,-20,97,-22,-107,-24,-45,-26,47,-27,-76,-29,47,-30,-69,-32,87,-33,-3,-35,-70,-36,123,-37,89,-38,56,-39,53,-40,68,-41,99,-42,-106,-43,-32,-44,77,-44,-52,-45,126,-45,70,-45,64,-45,96,-45,-95,-45,32,-44,-46,-44,-76,-43,-46,-42,35,-40,-84,-39,111,-37,99,-35,-109,-33,-45,-31,97,-28,32,-25,2,-22,13,-19,57,-16,121,-13,-40,-10,59,-6,-116,-3,-1,0,110,4,-40,7,41,11,112,14,-109,17,-101,20,125,23,55,26,-88,28,10,31,60,33,56,35,8,37,-97,38,4,40,60,41,63,42,21,43,-72,43,55,44,-105,44,-52,44,-29,44,-36,44,-74,44,121,44,36,44,-74,43,67,43,-82,42,7,42,74,41,123,40,-110,39,-111,38,122,37,64,36,-20,34,-112,33,-14,31,46,30,61,28,31,26,-46,23,79,21,-96,18,-76,15,-64,12,113,9,-15,5,71,2,113,-2,115,-6,90,-10,34,-14,-35,-19,-118,-23,86,-27,6,-31,-47,-36,-77,-40,-64,-44,-6,-48,118,-51,50,-54,69,-57,-88,-60,127,-62,-86,-64,78,-65,94,-66,-26,-67,-19,-67,104,-66,100,-65,-45,-64,-70,-62,4,-59,-63,-57,-25,-54,94,-50,45,-46,62,-42,-120,-38,3,-33,-96,-29,79,-24,-14,-20,-92,-15,82,-10,-38,-6,73,-1,127,3,-121,7,73,11,-49,14,-32,17,-47,20,105,23,-71,25,-76,27,102,29,-55,30,-24,31,-59,32,102,33,-68,33,-8,33,26,34,14,34,-7,33,-53,33,-104,33,98,33,47,33,3,33,-35,32,-51,32,-47,32,-29,32,13,33,61,33,-122,33,-50,33,37,34,119,34,-48,34,21,35,69,35,92,35,84,35,30,35,-60,34,42,34,94,33,82,32,24,31,-118,29,-88,27,-119,25,32,23,111,20,-125,17,86,14,-11,10,-123,7,-54,3,-15,-1,1,-4,9,-8,10,-12,27,-16,57,-20,122,-24,-28,-28,-107,-31,108,-34,127,-37,-29,-40,-111,-42,-105,-44,-13,-46,-88,-47,-71,-48,35,-48,-19,-49,3,-48,100,-48,25,-47,6,-46,65,-45,-98,-44,58,-42,-18,-41,-56,-39,-91,-37,-100,-35,-112,-33,-114,-31,117,-29,91,-27,35,-25,-35,-24,124,-22,3,-20,87,-19,-80,-18,-21,-17,36,-15,63,-14,95,-13,117,-12,-109,-11,-74,-10,-46,-9,27,-7,-118,-6,25,-4,-53,-3,-75,-1,-66,1,11,4,123,6,43,9,-24,11,-14,14,38,18,121,21,-19,24,115,28,3,32,-108,35,28,39,-116,42,-48,45,-11,48,-43,51,124,54,-62,56,-70,58,60,60,96,61,-5,61,45,62,-43,61,1,61,-99,59,-66,57,93,55,127,52,50,49,112,45,87,41,-36,36,54,32,57,27,8,22,-67,16,90,11,-6,5,-92,0,108,-5,91,-10,-95,-15,12,-19,-63,-24,-45,-28,64,-31,20,-34,84,-37,-6,-40,20,-41,-103,-43,-100,-44,-14,-45,-92,-45,-81,-45,19,-44,-74,-44,-96,-43,-69,-42,1,-40,104,-39,-23,-38,113,-36,-11,-35,118,-33,-25,-32,67,-30,-126,-29,-91,-28,-94,-27,-128,-26,49,-25,-59,-25,65,-24,-103,-24,-27,-24,27,-23,75,-23,122,-23,-87,-23,-14,-23,46,-22,-89,-22,71,-21,14,-20,18,-19,68,-18,-68,-17,111,-15,99,-13,126,-11,-14,-9,-87,-6,-105,-3,-73,0,7,4,123,7,10,11,-83,14,88,18,-26,21,-126,25,0,29,91,32,-121,35,115,38,36,41,125,43,-119,45,57,47,123,48,107,49,-18,49,14,50,-56,49,31,49,23,48,-75,46,4,45,-1,42,-50,40,78,38,-86,35,-39,32,-11,29,-3,26,2,24,10,21,35,18,77,15,-72,12,33,10,-64,7,-122,5,125,3,-87,1,-2,-1,-116,-2,60,-3,59,-4,60,-5,90,-6,-110,-7,-36,-8,38,-8,-128,-9,-59,-10,6,-10,51,-11,86,-12,76,-13,19,-14,-66,-16,54,-17,-114,-19,-74,-21,-70,-23,-103,-25,93,-27,13,-29,-89,-32,53,-34,-58,-37,97,-39,19,-41,-27,-44,-32,-46,25,-47,-117,-49,71,-50,91,-51,-50,-52,-87,-52,-21,-52,-97,-51,-57,-50,94,-48,113,-46,-17,-44,-56,-41,29,-37,-41,-34,-28,-30,69,-25,-28,-21,-68,-16,-67,-11,-41,-6,-29,-1,10,5,29,10,24,15,-35,19,116,24,-72,28,-70,32,84,36,-103,39,84,42,-65,44,-71,46,58,48,82,49,-15,49,42,50,-7,49,102,49,122,48,54,47,-81,45,-12,43,-10,41,-30,39,-95,37,84,35,-1,32,-94,30,91,28,32,26,0,24,-13,21,16,20,75,18,-78,16,58,15,-20,13,-67,12,-79,11,-39,10,1,10,57,9,123,8}; }
	private static byte[] data2(){ return new byte[] {-57,7,6,7,78,6,110,5,-111,4,-98,3,-127,2,49,1,-61,-1,36,-2,96,-4,109,-6,83,-8,17,-10,-84,-13,65,-15,-89,-18,-5,-21,71,-23,-111,-26,-27,-29,74,-31,-54,-34,108,-36,62,-38,75,-40,-110,-42,21,-43,-17,-45,12,-45,-112,-46,89,-46,-114,-46,15,-45,-12,-45,32,-43,-82,-42,-121,-40,-86,-38,18,-35,-83,-33,-124,-30,124,-27,-105,-24,-55,-21,-21,-18,40,-14,96,-11,-125,-8,-109,-5,-127,-2,70,1,-26,3,78,6,112,8,112,10,62,12,-43,13,50,15,103,16,97,17,57,18,-24,18,117,19,-44,19,55,20,-123,20,-40,20,28,21,113,21,-57,21,47,22,-88,22,54,23,-46,23,-114,24,99,25,72,26,76,27,81,28,109,29,-118,30,-89,31,-66,32,-50,33,-62,34,-107,35,72,36,-59,36,22,37,34,37,-16,36,117,36,-86,35,-84,34,62,33,-127,31,110,29,8,27,87,24,83,21,16,18,-120,14,-30,10,-7,6,-31,2,-74,-2,120,-6,47,-10,-7,-15,-60,-19,-67,-23,-44,-27,52,-30,-64,-34,-117,-37,-88,-40,22,-42,-30,-45,8,-46,-109,-48,-126,-49,-48,-50,-111,-50,-92,-50,21,-49,-25,-49,-1,-48,115,-46,33,-44,18,-42,59,-40,-118,-38,-3,-36,-117,-33,50,-30,-31,-28,-112,-25,65,-22,-34,-20,114,-17,-19,-15,77,-12,124,-10,-97,-8,-93,-6,-125,-4,73,-2,-26,-1,114,1,-41,2,50,4,85,5,-120,6,-81,7,-52,8,-24,9,4,11,32,12,72,13,115,14,-82,15,-37,16,44,18,-120,19,-17,20,95,22,-46,23,79,25,-63,26,59,28,-102,29,-11,30,50,32,101,33,108,34,84,35,17,36,-97,36,-8,36,29,37,2,37,-72,36,41,36,83,35,74,34,-10,32,112,31,-87,29,-79,27,-125,25,40,23,-63,20,23,18,98,15,-118,12,-81,9,-57,6,-26,3,4,1,57,-2,-107,-5,-13,-8,118,-10,17,-12,-33,-15,-49,-17,-16,-19,61,-20,-69,-22,100,-23,85,-24,88,-25,-119,-26,-30,-27,92,-27,-2,-28,-72,-28,-114,-28,122,-28,119,-28,-119,-28,-93,-28,-71,-28,-33,-28,-5,-28,36,-27,63,-27,99,-27,126,-27,-104,-27,-81,-27,-58,-27,-26,-27,10,-26,55,-26,113,-26,-70,-26,25,-25,-114,-25,31,-24,-70,-24,-116,-23,-123,-22,-92,-21,-17,-20,102,-18,9,-16,-33,-15,-39,-13,-19,-11,62,-8,-70,-6,87,-3,21,0,-22,2,-40,5,-48,8,-41,11,-39,14,-57,17,-69,20,-101,23,98,26,7,29,-126,31,-47,33,-21,35,-54,37,108,39,-59,40,-35,41,-75,42,61,43,124,43,118,43,29,43,-120,42,-91,41,-125,40,45,39,-115,37,-58,35,-67,33,-101,31,68,29,-38,26,78,24,-76,21,8,19,107,16,-74,13,5,11,89,8,-72,5,38,3,-89,0,57,-2,-22,-5,-63,-7,-91,-9,-98,-11,-76,-13,-25,-15,55,-16,-98,-18,38,-19,-63,-21,125,-22,93,-23,68,-24,64,-25,79,-26,120,-27,-84,-28,-5,-29,88,-29,-54,-30,78,-30,-20,-31,-105,-31,83,-31,43,-31,15,-31,22,-31,46,-31,98,-31,-78,-31,29,-30,-99,-30,69,-29,7,-28,-19,-28,-15,-27,18,-25,89,-24,-74,-23,58,-21,-44,-20,120,-18,71,-16,46,-14,39,-12,55,-10,77,-8,122,-6,-94,-4,-36,-2,-11,0,40,3,88,5,120,7,-110,9,-103,11,-114,13,111,15,55,17,-28,18,100,20,-40,21,47,23,100,24,122,25,109,26,65,27,-14,27,-125,28,-14,28,63,29,113,29,-120,29,-122,29,97,29,45,29,-38,28,112,28,-9,27,96,27,-54,26,14,26,77,25,116,24,-114,23,-101,22,-108,21,-126,20,101,19,51,18,13,17,-59,15,108,14,10,13,-103,11,24,10,-114,8,-11,6,79,5,-74,3,-6,1,54,0,99,-2,-111,-4,-81,-6,-47,-8,-22,-10,5,-11,33,-13,83,-15,120,-17,-90,-19,-35,-21,40,-22,123,-24,-21,-26,106,-27,5,-28,-65,-30,-106,-31,-113,-32,-94,-33,-31,-34,67,-34,-50,-35,-123,-35,99,-35,112,-35,-87,-35,4,-34,-103,-34,79,-33,63,-32,75,-31,-116,-30,-16,-29,123,-27,42,-25,-1,-24,-38,-22,-20,-20,17,-17,83,-15,-91,-13,13,-10,122,-8,-5,-6,120,-3,-20,-1,108,2,-18,4,103,7,-48,9,52,12,121,14,-75,16,-48,18,-41,20,-90,22,110,24,14,26,-111,27,-28,28,24,30,26,31,-6,31,-88,32,48,33,-127,33,-77,33,-72,33,-112,33,69,33,-55,32,47,32,106,31,-123,30,127,29,93,28,34,27,-64,25,85,24,-57,22,51,21,-123,19,-45,17,18,16,73,14,-113,12,-64,10,-18,8,32,7,83,5,-118,3,-53,1,16,0,96,-2,-51,-4,51,-5,-97,-7,29,-8,-95,-10,54,-11,-41,-13,-126,-14,65,-15,5,-16,-14,-18,-49,-19,-61,-20,-65,-21,-51,-22,-25,-23,20,-23}; }
	private static byte[] data3(){ return new byte[] {73,-24,-104,-25,-15,-26,99,-26,-28,-27,115,-27,30,-27,-42,-28,-81,-28,-105,-28,-97,-28,-66,-28,-8,-28,73,-27,-69,-27,74,-26,-7,-26,-61,-25,-81,-24,-76,-23,-38,-22,23,-20,118,-19,-42,-18,101,-16,6,-14,-66,-13,-120,-11,92,-9,72,-7,48,-5,42,-3,13,-1,6,1,-2,2,-10,4,-40,6,-63,8,-117,10,83,12,-3,13,-101,15,10,17,122,18,-55,19,4,21,29,22,35,23,3,24,-51,24,121,25,8,26,122,26,-43,26,24,27,65,27,85,27,79,27,57,27,5,27,-57,26,111,26,14,26,-104,25,8,25,112,24,-64,23,3,23,49,22,78,21,90,20,80,19,74,18,24,17,-40,15,125,14,20,13,-113,11,-7,9,76,8,-117,6,-53,4,-28,2,-23,0,-29,-2,-55,-4,-83,-6,125,-8,85,-10,30,-12,-11,-15,-40,-17,-69,-19,-88,-21,-89,-23,-61,-25,-14,-27,68,-28,-65,-30,86,-31,36,-32,32,-33,71,-34,-90,-35,55,-35,0,-35,4,-35,62,-35,-77,-35,93,-34,66,-33,76,-32,-104,-31,9,-29,-81,-28,115,-26,98,-24,103,-22,-114,-20,-64,-18,10,-15,69,-13,-100,-11,-21,-9,62,-6,125,-4,-71,-2,-41,0,-21,2,-34,4,-88,6,102,8,7,10,-123,11,-20,12,41,14,78,15,79,16,55,17,2,18,-94,18,61,19,-64,19,53,20,-108,20,-24,20,45,21,107,21,-98,21,-52,21,-18,21,16,22,51,22,77,22,101,22,120,22,-123,22,-115,22,-118,22,127,22,108,22,72,22,18,22,-56,21,106,21,-13,20,101,20,-72,19,-14,18,11,18,22,17,-13,15,-83,14,77,13,-55,11,45,10,115,8,-93,6,-68,4,-42,2,-48,0,-70,-2,-92,-4,-123,-6,111,-8,89,-10,85,-12,92,-14,123,-16,-63,-18,17,-19,-123,-21,22,-22,-43,-24,-77,-25,-64,-26,-10,-27,87,-27,-30,-28,-94,-28,122,-28,-117,-28,-81,-28,11,-27,117,-27,12,-26,-72,-26,122,-25,89,-24,56,-23,52,-22,53,-21,68,-20,81,-19,106,-18,122,-17,-109,-16,-91,-15,-76,-14,-76,-13,-70,-12,-60,-11,-58,-10,-53,-9,-50,-8,-44,-7,-38,-6,-22,-5,-25,-4,7,-2,44,-1,94,0,-97,1,-24,2,72,4,-83,5,42,7,-83,8,51,10,-50,11,118,13,36,15,-46,16,-125,18,43,20,-49,21,100,23,-25,24,78,26,-96,27,-43,28,-31,29,-55,30,125,31,10,32,91,32,125,32,94,32,21,32,-126,31,-63,30,-72,29,-124,28,15,27,109,25,-100,23,-103,21,119,19,60,17,-39,14,94,12,-44,9,62,7,-90,4,14,2,-126,-1,0,-3,-85,-6,85,-8,34,-10,15,-12,35,-14,94,-16,-58,-18,86,-19,27,-20,3,-21,51,-22,116,-23,-22,-24,-128,-24,67,-24,36,-24,39,-24,70,-24,-128,-24,-56,-24,50,-23,-105,-23,16,-22,-117,-22,12,-21,-114,-21,20,-20,-112,-20,18,-19,-119,-19,-4,-19,111,-18,-35,-18,79,-17,-71,-17,50,-16,-98,-16,36,-15,-94,-15,56,-14,-59,-14,118,-13,56,-12,18,-11,-3,-11,8,-9,35,-8,97,-7,-80,-6,13,-4,-115,-3,43,-1,-44,0,-103,2,98,4,61,6,26,8,-3,9,-35,11,-92,13,120,15,45,17,-30,18,104,20,-32,21,48,23,88,24,97,25,53,26,-36,26,93,27,-90,27,-57,27,-75,27,114,27,12,27,108,26,-80,25,-56,24,-58,23,-95,22,97,21,9,20,-91,18,42,17,-79,15,39,14,-90,12,34,11,-80,9,66,8,-48,6,123,5,38,4,-20,2,-69,1,-100,0,-114,-1,-100,-2,-84,-3,-61,-4,-25,-5,17,-5,65,-6,119,-7,-85,-8,-29,-9,19,-9,80,-10,120,-11,-105,-12,-77,-13,-64,-14,-53,-15,-55,-16,-56,-17,-71,-18,-78,-19,-92,-20,-97,-21,-105,-22,-99,-23,-79,-24,-47,-25,17,-25,94,-26,-43,-27,101,-27,23,-27,-6,-28,1,-27,64,-27,-91,-27,67,-26,15,-25,15,-24,64,-23,-94,-22,36,-20,-32,-19,-60,-17,-48,-15,-8,-13,63,-10,-101,-8,9,-5,-125,-3,-19,-1,109,2,-33,4,78,7,-97,9,-28,11,-1,13,6,16,-37,17,-112,19,4,21,94,22,-128,23,121,24,59,25,-53,25,50,26,95,26,108,26,67,26,-8,25,-119,25,-5,24,82,24,-111,23,-70,22,-45,21,-32,20,-28,19,-31,18,-26,17,-35,16,-30,15,-32,14,-18,13,-5,12,21,12,51,11,88,10,-123,9,-61,8,-5,7,47,7,108,6,-100,5,-44,4,-5,3,39,3,61,2,101,1,103,0,95,-1,77,-2,37,-3,-8,-5,-71,-6,111,-7,29,-8,-67,-10,107,-11,3,-12,-99,-14,57,-15,-36,-17,-120,-18,70,-19,14,-20,-11,-22,-19,-23,12,-23,66,-24,-99,-25,26,-25,-62,-26,-112,-26,-120,-26,-83,-26,-6,-26,115,-25,14,-24,-39,-24,-61,-23,-39,-22,7,-20,87,-19,-62,-18,58,-16,-46,-15}; }
	private static byte[] data4(){ return new byte[] {104,-13,9,-11,-81,-10,97,-8,11,-6,-80,-5,81,-3,-36,-2,100,0,-49,1,35,3,103,4,-95,5,-67,6,-55,7,-68,8,-98,9,107,10,34,11,-47,11,90,12,-19,12,111,13,-20,13,92,14,-48,14,55,15,-94,15,10,16,111,16,-45,16,59,17,-92,17,11,18,114,18,-45,18,55,19,-119,19,-31,19,27,20,97,20,-126,20,-102,20,-106,20,126,20,69,20,-9,19,-128,19,-14,18,58,18,113,17,115,16,88,15,18,14,-77,12,42,11,-117,9,-53,7,-11,5,24,4,26,2,15,0,-6,-3,-31,-5,-53,-7,-76,-9,-80,-11,-81,-13,-49,-15,7,-16,88,-18,-64,-20,81,-21,6,-22,-30,-24,-21,-25,29,-25,-128,-26,10,-26,-50,-27,-78,-27,-59,-27,2,-26,100,-26,-19,-26,-100,-25,98,-24,80,-23,74,-22,99,-21,-123,-20,-65,-19,0,-17,74,-16,-101,-15,-21,-14,64,-12,-115,-11,-38,-10,15,-8,80,-7,-125,-6,-77,-5,-46,-4,-14,-3,-1,-2,14,0,10,1,-6,1,-19,2,-34,3,-53,4,-78,5,-101,6,-128,7,100,8,74,9,44,10,3,11,-25,11,-56,12,-85,13,-124,14,97,15,47,16,-1,16,-65,17,119,18,25,19,-75,19,58,20,-79,20,14,21,84,21,127,21,-113,21,-125,21,89,21,19,21,-81,20,36,20,-124,19,-69,18,-33,17,-37,16,-52,15,-107,14,83,13,5,12,-101,10,35,9,-96,7,20,6,-125,4,-12,2,96,1,-41,-1,94,-2,-27,-4,118,-5,19,-6,-58,-8,-123,-9,92,-10,68,-11,68,-12,85,-13,-111,-14,-52,-15,34,-15,-115,-16,4,-16,-99,-17,56,-17,-17,-18,-81,-18,127,-18,98,-18,75,-18,61,-18,58,-18,63,-18,76,-18,99,-18,126,-18,-92,-18,-51,-18,-4,-18,53,-17,120,-17,-59,-17,25,-16,125,-16,-24,-16,100,-15,-16,-15,-123,-14,35,-13,-33,-13,-89,-12,-118,-11,119,-10,127,-9,-108,-8,-65,-7,-8,-6,56,-4,-113,-3,-3,-2,109,0,-16,1,118,3,1,5,-112,6,30,8,-88,9,35,11,-101,12,12,14,104,15,-71,16,-19,17,15,19,17,20,-5,20,-59,21,104,22,-12,22,85,23,-100,23,-70,23,-76,23,-113,23,66,23,-42,22,76,22,-93,21,-35,20,-8,19,-3,18,-22,17,-61,16,-118,15,65,14,-18,12,-116,11,52,10,-58,8,92,7,-27,5,-127,4,10,3,-81,1,70,0,-11,-2,-81,-3,111,-4,46,-5,7,-6,-35,-8,-52,-9,-64,-10,-60,-11,-43,-12,-14,-13,45,-13,95,-14,-84,-15,-9,-16,94,-16,-56,-17,69,-17,-51,-18,101,-18,10,-18,-62,-19,-124,-19,84,-19,55,-19,38,-19,40,-19,58,-19,94,-19,-110,-19,-35,-19,46,-18,-100,-18,25,-17,-87,-17,78,-16,2,-15,-57,-15,-92,-14,-122,-13,-124,-12,122,-11,-112,-10,-82,-9,-37,-8,12,-6,75,-5,-117,-4,-46,-3,26,-1,88,0,-98,1,-26,2,39,4,100,5,-107,6,-61,7,-34,8,-11,9,-8,10,-28,11,-54,12,-92,13,102,14,28,15,-69,15,75,16,-58,16,48,17,-126,17,-61,17,-13,17,18,18,29,18,27,18,0,18,-33,17,-92,17,97,17,10,17,-83,16,59,16,-65,15,54,15,-99,14,-2,13,77,13,-104,12,-44,11,7,11,62,10,95,9,118,8,-119,7,-112,6,-111,5,-114,4,127,3,112,2,105,1,78,0,52,-1,16,-2,-11,-4,-50,-5,-77,-6,-111,-7,119,-8,97,-9,87,-10,81,-11,71,-12,85,-13,96,-14,-128,-15,-85,-16,-29,-17,46,-17,-120,-18,-8,-19,122,-19,11,-19,-74,-20,114,-20,74,-20,52,-20,58,-20,81,-20,-119,-20,-54,-20,48,-19,-93,-19,57,-18,-40,-18,-104,-17,102,-16,72,-15,65,-14,70,-13,85,-12,120,-11,-82,-10,-22,-9,55,-7,-122,-6,-31,-5,60,-3,-98,-2,-14,-1,84,1,-76,2,14,4,103,5,-79,6,-5,7,50,9,97,10,-125,11,-122,12,-117,13,118,14,87,15,28,16,-45,16,112,17,-8,17,109,18,-61,18,10,19,50,19,76,19,75,19,49,19,8,19,-60,18,105,18,3,18,124,17,-9,16,79,16,-97,15,-36,14,13,14,50,13,74,12,88,11,95,10,91,9,99,8,81,7,70,6,47,5,31,4,7,3,-9,1,-33,0,-42,-1,-46,-2,-53,-3,-55,-4,-56,-5,-45,-6,-33,-7,-11,-8,19,-8,56,-9,103,-10,-88,-11,-25,-12,50,-12,-124,-13,-26,-14,75,-14,-59,-15,65,-15,-47,-16,108,-16,19,-16,-51,-17,-116,-17,93,-17,66,-17,44,-17,49,-17,64,-17,96,-17,-106,-17,-46,-17,39,-16,-116,-16,4,-15,-118,-15,37,-14,-52,-14,-122,-13,78,-12,38,-11,-3,-11,-14,-10,-21,-9,-13,-8,4,-6,27,-5,60,-4,93,-3,-123,-2,-98,-1,-53,0,-17,1,21,3,53,4,77,5,100,6,105,7,108,8,96,9,59,10,28,11}; }
	private static byte[] data5(){ return new byte[] {-29,11,-90,12,85,13,-14,13,-125,14,0,15,112,15,-53,15,23,16,80,16,-128,16,-101,16,-86,16,-91,16,-105,16,116,16,73,16,11,16,-55,15,112,15,17,15,-97,14,38,14,-97,13,10,13,109,12,-63,11,13,11,86,10,-117,9,-76,8,-44,7,-26,6,-10,5,-16,4,-18,3,-38,2,-49,1,-79,0,-117,-1,97,-2,51,-3,4,-4,-47,-6,-92,-7,115,-8,75,-9,49,-10,19,-11,2,-12,-7,-14,1,-14,22,-15,61,-16,119,-17,-57,-18,44,-18,-83,-19,67,-19,-16,-20,-64,-20,-97,-20,-90,-20,-64,-20,-6,-20,80,-19,-66,-19,68,-18,-28,-18,-98,-17,109,-16,81,-15,69,-14,78,-13,94,-12,-124,-11,-86,-10,-44,-9,9,-7,69,-6,125,-5,-69,-4,-21,-3,34,-1,70,0,112,1,116,2,-120,3,-125,4,126,5,97,6,63,7,8,8,-57,8,120,9,26,10,-91,10,48,11,-87,11,31,12,-128,12,-34,12,47,13,118,13,-73,13,-22,13,23,14,60,14,94,14,112,14,-124,14,-123,14,-120,14,120,14,104,14,70,14,33,14,-17,13,-86,13,98,13,3,13,-100,12,36,12,-98,11,9,11,97,10,-68,9,-14,8,38,8,66,7,84,6,90,5,83,4,67,3,39,2,23,1,-21,-1,-57,-2,-105,-3,111,-4,70,-5,34,-6,6,-7,-16,-9,-22,-10,-11,-11,10,-11,38,-12,97,-13,-96,-14,0,-14,109,-15,-18,-16,-113,-16,57,-16,7,-16,-32,-17,-48,-17,-42,-17,-17,-17,27,-16,86,-16,-89,-16,1,-15,112,-15,-32,-15,100,-14,-17,-14,-123,-13,32,-12,-60,-12,106,-11,24,-10,-57,-10,121,-9,38,-8,-35,-8,-107,-7,83,-6,11,-5,-47,-5,-118,-4,85,-3,19,-2,-41,-2,-99,-1,114,0,62,1,26,2,-17,2,-51,3,-81,4,-113,5,117,6,81,7,54,8,29,9,0,10,-34,10,-68,11,-117,12,91,13,25,14,-51,14,113,15,7,16,-118,16,-1,16,86,17,-100,17,-55,17,-40,17,-42,17,-81,17,116,17,31,17,-93,16,28,16,106,15,-85,14,-50,13,-36,12,-41,11,-66,10,-100,9,107,8,33,7,-33,5,-122,4,57,3,-33,1,-113,0,66,-1,4,-2,-54,-4,-105,-5,113,-6,97,-7,88,-8,107,-9,-120,-10,-65,-11,7,-11,110,-12,-33,-13,100,-13,-6,-14,-87,-14,99,-14,52,-14,15,-14,-3,-15,-10,-15,1,-14,17,-14,43,-14,77,-14,122,-14,-87,-14,-30,-14,31,-13,95,-13,-89,-13,-18,-13,57,-12,-111,-12,-28,-12,69,-11,-89,-11,13,-10,-126,-10,-12,-10,120,-9,-11,-9,-122,-8,36,-7,-55,-7,120,-6,55,-5,-7,-5,-50,-4,-88,-3,-128,-2,111,-1,101,0,96,1,98,2,102,3,112,4,116,5,125,6,123,7,113,8,101,9,79,10,47,11,-2,11,-62,12,110,13,14,14,-109,14,9,15,95,15,-87,15,-47,15,-18,15,-24,15,-46,15,-94,15,91,15,6,15,-110,14,25,14,-120,13,-25,12,60,12,-125,11,-67,10,-9,9,36,9,77,8,119,7,-89,6,-54,5,-9,4,29,4,77,3,126,2,-75,1,-18,0,49,0,127,-1,-53,-2,26,-2,111,-3,-59,-4,36,-4,-127,-5,-28,-6,74,-6,-84,-7,34,-7,-120,-8,-14,-9,96,-9,-56,-10,59,-10,-88,-11,27,-11,-108,-12,10,-12,-109,-13,18,-13,-90,-14,58,-14,-35,-15,-115,-15,69,-15,22,-15,-18,-16,-32,-16,-38,-16,-11,-16,28,-15,98,-15,-73,-15,40,-14,-80,-14,74,-13,4,-12,-55,-12,-94,-11,-109,-10,-105,-9,-85,-8,-49,-7,-4,-6,53,-4,116,-3,-70,-2,-11,-1,60,1,126,2,-67,3,-14,4,31,6,59,7,75,8,76,9,55,10,8,11,-50,11,121,12,22,13,-108,13,0,14,84,14,-110,14,-71,14,-51,14,-56,14,-74,14,-110,14,90,14,28,14,-58,13,109,13,6,13,-107,12,32,12,-92,11,36,11,-101,10,23,10,-124,9,-4,8,105,8,-40,7,73,7,-79,6,41,6,-111,5,-6,4,94,4,-59,3,32,3,-126,2,-41,1,46,1,-120,0,-42,-1,27,-1,97,-2,-98,-3,-36,-4,19,-4,75,-5,126,-6,-75,-7,-15,-8,43,-8,97,-9,-90,-10,-23,-11,57,-11,-111,-12,-12,-13,102,-13,-27,-14,118,-14,22,-14,-55,-15,-115,-15,103,-15,85,-15,90,-15,111,-15,-94,-15,-32,-15,56,-14,-93,-14,31,-13,-79,-13,81,-12,1,-11,-62,-11,-121,-10,96,-9,58,-8,24,-7,-1,-7,-21,-6,-40,-5,-58,-4,-80,-3,-102,-2,122,-1,93,0,36,1,-8,1,-68,2,125,3,48,4,-34,4,125,5,24,6,-87,6,46,7,-91,7,26,8,-117,8,-14,8,85,9,-85,9,6,10,81,10,-98,10,-28,10,29,11,94,11,-111,11,-61,11,-17,11,17,12,50,12,68,12,86,12,86,12,86,12,67,12,39,12,-3,11}; }
	private static byte[] data6(){ return new byte[] {-57,11,-128,11,44,11,-58,10,82,10,-49,9,65,9,-99,8,-23,7,35,7,83,6,116,5,-126,4,-111,3,-118,2,-117,1,125,0,100,-1,78,-2,55,-3,29,-4,13,-5,-2,-7,-8,-8,0,-8,19,-9,53,-10,95,-11,-98,-12,-17,-13,79,-13,-55,-14,84,-14,-12,-15,-80,-15,121,-15,100,-15,84,-15,101,-15,-124,-15,-73,-15,0,-14,82,-14,-67,-14,48,-13,-80,-13,60,-12,-42,-12,114,-11,31,-10,-55,-10,127,-9,52,-8,-18,-8,-87,-7,93,-6,23,-5,-42,-5,-116,-4,71,-3,-3,-3,-80,-2,102,-1,20,0,-72,0,101,1,12,2,-73,2,88,3,-2,3,-99,4,58,5,-38,5,110,6,-1,6,-110,7,32,8,-84,8,49,9,-78,9,41,10,-95,10,5,11,109,11,-69,11,13,12,77,12,-127,12,-83,12,-65,12,-47,12,-56,12,-74,12,-112,12,95,12,26,12,-57,11,96,11,-20,10,104,10,-41,9,56,9,-118,8,-44,7,25,7,78,6,127,5,-95,4,-55,3,-27,2,2,2,34,1,60,0,107,-1,-118,-2,-73,-3,-29,-4,29,-4,89,-5,-96,-6,-12,-7,74,-7,-74,-8,40,-8,-88,-9,44,-9,-64,-10,91,-10,7,-10,-77,-11,122,-11,55,-11,21,-11,-26,-12,-43,-12,-69,-12,-78,-12,-78,-12,-77,-12,-59,-12,-41,-12,-11,-12,25,-11,66,-11,116,-11,-81,-11,-15,-11,63,-10,-117,-10,-19,-10,75,-9,-68,-9,47,-8,-90,-8,46,-7,-67,-7,88,-6,-8,-6,-92,-5,87,-4,17,-3,-45,-3,-110,-2,96,-1,50,0,10,1,-30,1,-68,2,-101,3,112,4,76,5,30,6,-26,6,-81,7,112,8,39,9,-44,9,119,10,9,11,-112,11,7,12,110,12,-62,12,8,13,60,13,94,13,111,13,106,13,90,13,47,13,-2,12,-81,12,97,12,-13,11,-127,11,-2,10,107,10,-45,9,44,9,122,8,-55,7,4,7,77,6,-124,5,-75,4,-18,3,24,3,78,2,124,1,-78,0,-30,-1,43,-1,96,-2,-91,-3,-23,-4,52,-4,-122,-5,-36,-6,59,-6,-97,-7,14,-7,-121,-8,4,-8,-121,-9,19,-9,-86,-10,68,-10,-17,-11,-103,-11,89,-11,22,-11,-22,-12,-66,-12,-98,-12,-116,-12,127,-12,-124,-12,-115,-12,-93,-12,-54,-12,-13,-12,46,-11,109,-11,-64,-11,24,-10,127,-10,-18,-10,103,-9,-19,-9,119,-8,18,-7,-94,-7,80,-6,-13,-6,-82,-5,95,-4,31,-3,-37,-3,-96,-2,98,-1,28,0,-31,0,-94,1,98,2,30,3,-40,3,-120,4,57,5,-35,5,125,6,14,7,-101,7,33,8,-99,8,14,9,119,9,-49,9,37,10,102,10,-92,10,-49,10,-14,10,13,11,25,11,27,11,20,11,-1,10,-31,10,-70,10,-122,10,77,10,10,10,-72,9,102,9,2,9,-99,8,44,8,-73,7,56,7,-76,6,48,6,-95,5,10,5,113,4,-48,3,45,3,-121,2,-36,1,49,1,-120,0,-35,-1,38,-1,123,-2,-58,-3,25,-3,105,-4,-64,-5,20,-5,118,-6,-42,-7,65,-7,-88,-8,29,-8,-107,-9,23,-9,-95,-10,54,-10,-46,-11,124,-11,48,-11,-14,-12,-72,-12,-109,-12,116,-12,100,-12,101,-12,107,-12,-121,-12,-86,-12,-38,-12,26,-11,99,-11,-66,-11,31,-10,-109,-10,10,-9,-109,-9,32,-8,-69,-8,85,-7,-3,-7,-79,-6,100,-5,35,-4,-29,-4,-91,-3,113,-2,51,-1,-5,-1,-65,0,-119,1,79,2,17,3,-46,3,-119,4,64,5,-21,5,-108,6,43,7,-67,7,80,8,-54,8,71,9,-80,9,17,10,103,10,-83,10,-24,10,21,11,54,11,78,11,82,11,82,11,61,11,32,11,-8,10,-66,10,-126,10,52,10,-33,9,-127,9,18,9,-93,8,38,8,-93,7,29,7,-121,6,-9,5,94,5,-59,4,32,4,125,3,-43,2,46,2,-125,1,-35,0,49,0,-109,-1,-17,-2,69,-2,-84,-3,6,-3,112,-4,-39,-5,67,-5,-67,-6,46,-6,-69,-7,54,-7,-56,-8,84,-8,-16,-9,-114,-9,57,-9,-28,-10,-94,-10,95,-10,46,-10,2,-10,-36,-11,-60,-11,-75,-11,-83,-11,-74,-11,-63,-11,-35,-11,0,-10,46,-10,98,-10,-84,-10,-14,-10,78,-9,-83,-9,25,-8,-118,-8,9,-7,-116,-7,15,-6,-89,-6,58,-5,-34,-5,126,-4,40,-3,-46,-3,-127,-2,49,-1,-39,-1,-119,0,58,1,-25,1,-110,2,61,3,-35,3,-128,4,23,5,-85,5,47,6,-72,6,47,7,-85,7,13,8,122,8,-55,8,31,9,96,9,-101,9,-52,9,-15,9,13,10,34,10,41,10,41,10,29,10,8,10,-21,9,-60,9,-107,9,94,9,28,9,-45,8,-127,8,39,8,-56,7,91,7,-14,6,115,6,6,6,121,5,-8,4,98,4,-45,3,54,3,-103,2,-8,1,79,1,-76,0,1,0,90,-1,-88,-2,-6,-3,75,-3,-99,-4}; }
	private static byte[] data7(){ return new byte[] {-15,-5,72,-5,-93,-6,6,-6,109,-7,-45,-8,74,-8,-67,-9,71,-9,-50,-10,105,-10,9,-10,-71,-11,119,-11,63,-11,21,-11,-5,-12,-22,-12,-16,-12,-8,-12,30,-11,69,-11,-127,-11,-57,-11,23,-10,127,-10,-28,-10,97,-9,-31,-9,108,-8,0,-7,-101,-7,58,-6,-36,-6,-122,-5,49,-4,-30,-4,-110,-3,65,-2,-13,-2,-100,-1,76,0,-26,0,-114,1,42,2,-60,2,88,3,-29,3,108,4,-22,4,102,5,-44,5,60,6,-100,6,-4,6,80,7,-100,7,-25,7,35,8,95,8,-113,8,-70,8,-33,8,-8,8,21,9,30,9,47,9,42,9,42,9,26,9,7,9,-18,8,-56,8,-93,8,105,8,53,8,-20,7,-95,7,77,7,-18,6,-117,6,27,6,-84,5,45,5,-86,4,29,4,-118,3,-13,2,83,2,-79,1,14,1,103,0,-62,-1,17,-1,104,-2,-67,-3,17,-3,112,-4,-55,-5,47,-5,-104,-6,13,-6,-122,-7,7,-7,-115,-8,37,-8,-64,-9,106,-9,32,-9,-36,-10,-82,-10,-127,-10,107,-10,84,-10,83,-10,86,-10,104,-10,-126,-10,-87,-10,-42,-10,15,-9,76,-9,-109,-9,-28,-9,53,-8,-107,-8,-12,-8,88,-7,-57,-7,48,-6,-90,-6,20,-5,-117,-5,5,-4,-124,-4,0,-3,-124,-3,2,-2,-117,-2,11,-1,-112,-1,18,0,-97,0,38,1,-79,1,58,2,-58,2,77,3,-37,3,91,4,-28,4,98,5,-26,5,101,6,-38,6,84,7,-64,7,42,8,-117,8,-30,8,52,9,119,9,-73,9,-26,9,11,10,40,10,47,10,51,10,33,10,5,10,-32,9,-92,9,98,9,15,9,-84,8,69,8,-58,7,74,7,-75,6,37,6,-121,5,-29,4,54,4,-122,3,-49,2,28,2,94,1,-84,0,-14,-1,69,-1,-105,-2,-25,-3,68,-3,-94,-4,10,-4,123,-5,-16,-6,116,-6,-5,-7,-105,-7,52,-7,-37,-8,-116,-8,74,-8,9,-8,-33,-9,-83,-9,-105,-9,119,-9,112,-9,98,-9,103,-9,104,-9,121,-9,-120,-9,-93,-9,-63,-9,-27,-9,13,-8,59,-8,108,-8,-90,-8,-30,-8,36,-7,108,-7,-70,-7,8,-6,99,-6,-67,-6,27,-5,-127,-5,-17,-5,95,-4,-38,-4,83,-3,-41,-3,93,-2,-26,-2,111,-1,0,0,-110,0,45,1,-66,1,91,2,-17,2,-121,3,25,4,-84,4,46,5,-69,5,56,6,-75,6,37,7,-111,7,-18,7,71,8,-113,8,-47,8,0,9,45,9,65,9,90,9,82,9,82,9,54,9,24,9,-21,8,-79,8,116,8,39,8,-44,7,119,7,20,7,-87,6,56,6,-58,5,73,5,-49,4,85,4,-46,3,84,3,-50,2,76,2,-54,1,72,1,-57,0,76,0,-49,-1,91,-1,-36,-2,105,-2,-11,-3,127,-3,20,-3,-93,-4,59,-4,-48,-5,115,-5,12,-5,-81,-6,78,-6,-9,-7,-99,-7,75,-7,-4,-8,-81,-8,108,-8,43,-8,-16,-9,-68,-9,-114,-9,103,-9,75,-9,49,-9,43,-9,34,-9,49,-9,58,-9,92,-9,-128,-9,-72,-9,-13,-9,64,-8,-107,-8,-9,-8,97,-7,-39,-7,82,-6,-36,-6,109,-5,7,-4,-93,-4,77,-3,-14,-3,-95,-2,82,-1,-10,-1,-84,0,87,1,2,2,-81,2,76,3,-17,3,-126,4,18,5,-103,5,15,6,-124,6,-20,6,73,7,-98,7,-28,7,34,8,81,8,120,8,-110,8,-94,8,-90,8,-92,8,-106,8,127,8,100,8,56,8,17,8,-41,7,-95,7,97,7,28,7,-44,6,-123,6,52,6,-32,5,-123,5,45,5,-52,4,109,4,14,4,-85,3,63,3,-38,2,106,2,-5,1,-113,1,24,1,-90,0,54,0,-68,-1,70,-1,-54,-2,78,-2,-43,-3,86,-3,-34,-4,98,-4,-23,-5,122,-5,3,-5,-107,-6,41,-6,-64,-7,98,-7,3,-7,-77,-8,100,-8,35,-8,-22,-9,-71,-9,-111,-9,119,-9,98,-9,96,-9,98,-9,116,-9,-115,-9,-73,-9,-29,-9,34,-8,102,-8,-75,-8,15,-7,113,-7,-42,-7,75,-6,-69,-6,60,-5,-78,-5,57,-4,-69,-4,70,-3,-50,-3,86,-2,-30,-2,102,-1,-16,-1,107,0,-20,0,107,1,-30,1,92,2,-56,2,57,3,-98,3,3,4,95,4,-75,4,7,5,88,5,-95,5,-26,5,40,6,97,6,-103,6,-54,6,-10,6,30,7,63,7,93,7,119,7,-122,7,-102,7,-101,7,-95,7,-103,7,-113,7,124,7,103,7,64,7,30,7,-24,6,-77,6,111,6,41,6,-40,5,124,5,35,5,-72,4,73,4,-45,3,82,3,-47,2,69,2,-72,1,39,1,-108,0,2,0,96,-1,-49,-2,47,-2,-102,-3,4,-3,113,-4,-27,-5,90,-5,-32,-6,95,-6,-14,-7,-126,-7,34,-7,-53,-8,122,-8,57,-8,0,-8,-46,-9,-79,-9,-99,-9,-117,-9,-112,-9,-109,-9,-84,-9,-59,-9,-15,-9,29,-8}; }
	private static byte[] data8(){ return new byte[] {88,-8,-107,-8,-35,-8,45,-7,127,-7,-37,-7,55,-6,-99,-6,1,-5,110,-5,-40,-5,67,-4,-76,-4,34,-3,-101,-3,6,-2,-127,-2,-17,-2,101,-1,-41,-1,66,0,-76,0,35,1,-109,1,-2,1,109,2,-44,2,59,3,-93,3,2,4,97,4,-69,4,21,5,108,5,-70,5,12,6,75,6,-104,6,-53,6,9,7,49,7,94,7,123,7,-101,7,-90,7,-75,7,-79,7,-85,7,-101,7,125,7,97,7,48,7,-2,6,-64,6,122,6,42,6,-40,5,118,5,23,5,-88,4,64,4,-55,3,81,3,-42,2,82,2,-45,1,80,1,-55,0,73,0,-56,-1,72,-1,-55,-2,73,-2,-44,-3,88,-3,-19,-4,123,-4,22,-4,-76,-5,90,-5,8,-5,-78,-6,109,-6,38,-6,-20,-7,-76,-7,-123,-7,89,-7,59,-7,29,-7,8,-7,-9,-8,-17,-8,-24,-8,-15,-8,-16,-8,7,-7,20,-7,52,-7,78,-7,115,-7,-98,-7,-49,-7,2,-6,67,-6,124,-6,-56,-6,16,-5,99,-5,-78,-5,15,-4,108,-4,-46,-4,57,-3,-88,-3,19,-2,-113,-2,-2,-2,119,-1,-17,-1,111,0,-23,0,110,1,-28,1,105,2,-33,2,92,3,-46,3,63,4,-78,4,23,5,-128,5,-36,5,51,6,-120,6,-55,6,17,7,67,7,114,7,-104,7,-78,7,-57,7,-50,7,-50,7,-62,7,-82,7,-111,7,104,7,62,7,1,7,-57,6,120,6,47,6,-42,5,124,5,25,5,-76,4,71,4,-33,3,109,3,-10,2,-124,2,6,2,-110,1,20,1,-97,0,33,0,-76,-1,55,-1,-55,-2,81,-2,-27,-3,118,-3,15,-3,-91,-4,72,-4,-25,-5,-108,-5,64,-5,-19,-6,-89,-6,93,-6,34,-6,-26,-7,-77,-7,-124,-7,95,-7,59,-7,40,-7,11,-7,6,-7,-6,-8,-4,-8,5,-7,19,-7,40,-7,71,-7,101,-7,-108,-7,-63,-7,-3,-7,56,-6,126,-6,-55,-6,26,-5,109,-5,-50,-5,33,-4,-114,-4,-17,-4,94,-3,-52,-3,59,-2,-79,-2,33,-1,-101,-1,7,0,127,0,-14,0,102,1,-41,1,71,2,-78,2,29,3,-128,3,-29,3,58,4,-111,4,-26,4,48,5,119,5,-69,5,-18,5,43,6,78,6,124,6,-106,6,-82,6,-63,6,-55,6,-48,6,-56,6,-61,6,-84,6,-103,6,120,6,87,6,42,6,-2,5,-60,5,-118,5,73,5,1,5,-70,4,103,4,22,4,-64,3,103,3,8,3,-90,2,67,2,-38,1,116,1,7,1,-98,0,53,0,-55,-1,92,-1,-18,-2,-125,-2,25,-2,-83,-3,73,-3,-31,-4,-127,-4,37,-4,-52,-5,114,-5,33,-5,-46,-6,-119,-6,73,-6,7,-6,-43,-7,-97,-7,124,-7,86,-7,58,-7,39,-7,24,-7,19,-7,23,-7,30,-7,49,-7,73,-7,105,-7,-112,-7,-65,-7,-11,-7,50,-6,117,-6,-64,-6,14,-5,100,-5,-65,-5,26,-4,124,-4,-24,-4,76,-3,-62,-3,43,-2,-91,-2,18,-1,-114,-1,-7,-1,112,0,-26,0,87,1,-53,1,59,2,-92,2,19,3,117,3,-39,3,49,4,-117,4,-36,4,45,5,112,5,-75,5,-18,5,34,6,79,6,116,6,-112,6,-86,6,-74,6,-62,6,-65,6,-70,6,-83,6,-107,6,123,6,88,6,44,6,2,6,-59,5,-114,5,75,5,1,5,-70,4,100,4,21,4,-72,3,99,3,3,3,-93,2,62,2,-36,1,113,1,15,1,-95,0,62,0,-39,-1,113,-1,14,-1,-91,-2,69,-2,-30,-3,-124,-3,41,-3,-50,-4,124,-4,41,-4,-32,-5,-110,-5,79,-5,12,-5,-47,-6,-101,-6,103,-6,61,-6,22,-6,-11,-7,-34,-7,-60,-7,-69,-7,-82,-7,-80,-7,-77,-7,-67,-7,-47,-7,-25,-7,5,-6,42,-6,83,-6,-122,-6,-69,-6,-7,-6,60,-5,-128,-5,-47,-5,30,-4,114,-4,-52,-4,38,-3,-118,-3,-23,-3,82,-2,-73,-2,33,-1,-117,-1,-18,-1,91,0,-62,0,44,1,-108,1,-9,1,92,2,-70,2,23,3,114,3,-64,3,20,4,93,4,-90,4,-25,4,37,5,88,5,-114,5,-76,5,-36,5,-9,5,17,6,32,6,49,6,50,6,52,6,43,6,31,6,13,6,-15,5,-40,5,-81,5,-118,5,88,5,37,5,-21,4,-82,4,106,4,36,4,-40,3,-115,3,59,3,-29,2,-117,2,45,2,-48,1,109,1,11,1,-92,0,68,0,-35,-1,116,-1,15,-1,-93,-2,64,-2,-40,-3,119,-3,18,-3,-73,-4,89,-4,6,-4,-83,-5,97,-5,18,-5,-49,-6,-115,-6,83,-6,34,-6,-14,-7,-48,-7,-79,-7,-101,-7,-118,-7,-123,-7,-125,-7,-115,-7,-98,-7,-75,-7,-42,-7,-7,-7,43,-6,91,-6,-99,-6,-39,-6,39,-5,109,-5,-59,-5,23,-4,117,-4,-51,-4,47,-3,-114,-3,-8,-3,89,-2,-61,-2,40,-1,-112,-1,-12,-1,87,0,-74,0}; }
	private static byte[] data9(){ return new byte[] {28,1,118,1,-40,1,43,2,-122,2,-43,2,38,3,114,3,-80,3,-6,3,49,4,114,4,-92,4,-44,4,5,5,39,5,78,5,105,5,-124,5,-105,5,-90,5,-77,5,-76,5,-69,5,-80,5,-86,5,-101,5,-123,5,111,5,80,5,43,5,5,5,-44,4,-93,4,105,4,46,4,-23,3,-89,3,90,3,17,3,-72,2,103,2,9,2,-81,1,76,1,-18,0,-119,0,41,0,-59,-1,94,-1,-5,-2,-107,-2,51,-2,-46,-3,116,-3,26,-3,-66,-4,114,-4,30,-4,-40,-5,-116,-5,83,-5,16,-5,-28,-6,-82,-6,-115,-6,103,-6,82,-6,58,-6,48,-6,39,-6,42,-6,45,-6,60,-6,79,-6,102,-6,-122,-6,-88,-6,-49,-6,0,-5,47,-5,102,-5,-95,-5,-33,-5,31,-4,103,-4,-87,-4,-11,-4,60,-3,-114,-3,-36,-3,46,-2,-126,-2,-43,-2,43,-1,-125,-1,-48,-1,46,0,126,0,-37,0,47,1,-121,1,-39,1,52,2,127,2,-39,2,31,3,111,3,-70,3,1,4,72,4,-122,4,-59,4,-2,4,47,5,98,5,-124,5,-83,5,-58,5,-31,5,-19,5,-6,5,-8,5,-10,5,-24,5,-44,5,-68,5,-106,5,113,5,60,5,6,5,-54,4,-127,4,61,4,-24,3,-105,3,64,3,-27,2,-126,2,36,2,-71,1,88,1,-19,0,-122,0,31,0,-68,-1,87,-1,-13,-2,-111,-2,53,-2,-41,-3,-124,-3,44,-3,-30,-4,-109,-4,87,-4,16,-4,-36,-5,-97,-5,118,-5,68,-5,37,-5,-2,-6,-24,-6,-47,-6,-64,-6,-72,-6,-84,-6,-82,-6,-81,-6,-73,-6,-63,-6,-44,-6,-27,-6,1,-5,26,-5,58,-5,96,-5,-122,-5,-75,-5,-30,-5,23,-4,77,-4,-121,-4,-57,-4,3,-3,72,-3,-111,-3,-41,-3,43,-2,116,-2,-52,-2,30,-1,115,-1,-54,-1,30,0,125,0,-44,0,47,1,-118,1,-33,1,61,2,-118,2,-25,2,43,3,-128,3,-59,3,11,4,78,4,-121,4,-64,4,-16,4,25,5,63,5,92,5,114,5,-122,5,-117,5,-110,5,-116,5,-125,5,113,5,91,5,57,5,29,5,-18,4,-59,4,-115,4,87,4,27,4,-38,3,-105,3,81,3,6,3,-64,2,113,2,35,2,-45,1,-126,1,50,1,-34,0,-112,0,60,0,-16,-1,-94,-1,82,-1,4,-1,-70,-2,107,-2,37,-2,-35,-3,-106,-3,84,-3,21,-3,-44,-4,-100,-4,91,-4,43,-4,-15,-5,-63,-5,-106,-5,102,-5,70,-5,33,-5,2,-5,-21,-6,-46,-6,-59,-6,-71,-6,-78,-6,-75,-6,-74,-6,-57,-6,-46,-6,-18,-6,8,-5,46,-5,87,-5,-122,-5,-66,-5,-9,-5,59,-4,125,-4,-54,-4,20,-3,109,-3,-64,-3,31,-2,120,-2,-36,-2,56,-1,-96,-1,-6,-1,97,0,-66,0,36,1,126,1,-34,1,54,2,-115,2,-34,2,47,3,113,3,-70,3,-11,3,51,4,99,4,-107,4,-70,4,-33,4,-8,4,17,5,30,5,41,5,47,5,43,5,40,5,26,5,11,5,-12,4,-36,4,-69,4,-98,4,115,4,78,4,29,4,-17,3,-68,3,-124,3,77,3,16,3,-44,2,-105,2,86,2,16,2,-50,1,-122,1,61,1,-10,0,-90,0,97,0,20,0,-55,-1,125,-1,43,-1,-28,-2,-113,-2,77,-2,-9,-3,-73,-3,103,-3,40,-3,-31,-4,-92,-4,94,-4,45,-4,-21,-5,-63,-5,-116,-5,101,-5,64,-5,32,-5,7,-5,-14,-6,-27,-6,-38,-6,-37,-6,-36,-6,-24,-6,-6,-6,12,-5,45,-5,76,-5,117,-5,-93,-5,-45,-5,13,-4,72,-4,-120,-4,-53,-4,18,-3,89,-3,-91,-3,-13,-3,65,-2,-106,-2,-30,-2,57,-1,-120,-1,-39,-1,40,0,118,0,-61,0,19,1,89,1,-91,1,-23,1,44,2,110,2,-86,2,-28,2,25,3,80,3,127,3,-81,3,-40,3,0,4,34,4,69,4,93,4,119,4,-117,4,-101,4,-85,4,-80,4,-72,4,-75,4,-75,4,-85,4,-95,4,-115,4,124,4,94,4,68,4,29,4,-7,3,-55,3,-101,3,100,3,42,3,-14,2,-82,2,107,2,32,2,-44,1,-119,1,50,1,-27,0,-118,0,58,0,-30,-1,-117,-1,50,-1,-35,-2,-123,-2,49,-2,-33,-3,-114,-3,67,-3,-6,-4,-73,-4,114,-4,56,-4,-2,-5,-52,-5,-98,-5,117,-5,85,-5,55,-5,36,-5,18,-5,8,-5,4,-5,6,-5,13,-5,27,-5,45,-5,69,-5,98,-5,-124,-5,-88,-5,-44,-5,2,-4,51,-4,108,-4,-96,-4,-32,-4,27,-3,91,-3,-100,-3,-33,-3,35,-2,108,-2,-80,-2,-7,-2,67,-1,-119,-1,-45,-1,23,0,96,0,-88,0,-20,0,54,1,118,1,-67,1,-3,1,62,2,124,2,-74,2,-18,2,37,3,92,3,-117,3,-68,3,-28,3,12,4,48,4,78,4,106,4,125,4,-109,4,-98,4}; }
	private static byte[] data10(){ return new byte[] {-89,4,-87,4,-87,4,-96,4,-105,4,-127,4,112,4,81,4,50,4,12,4,-31,3,-76,3,-128,3,71,3,14,3,-52,2,-111,2,74,2,3,2,-71,1,112,1,31,1,-40,0,-126,0,58,0,-20,-1,-95,-1,81,-1,8,-1,-67,-2,119,-2,47,-2,-18,-3,-86,-3,114,-3,54,-3,2,-3,-51,-4,-98,-4,114,-4,75,-4,37,-4,7,-4,-21,-5,-46,-5,-62,-5,-81,-5,-88,-5,-100,-5,-97,-5,-103,-5,-92,-5,-86,-5,-72,-5,-54,-5,-36,-5,-9,-5,17,-4,52,-4,86,-4,125,-4,-87,-4,-42,-4,9,-3,62,-3,112,-3,-82,-3,-26,-3,43,-2,106,-2,-81,-2,-13,-2,61,-1,-125,-1,-52,-1,22,0,94,0,-83,0,-10,0,64,1,-116,1,-49,1,27,2,91,2,-98,2,-37,2,25,3,81,3,-121,3,-72,3,-26,3,14,4,52,4,80,4,107,4,-128,4,-113,4,-102,4,-98,4,-97,4,-106,4,-113,4,123,4,101,4,78,4,44,4,7,4,-28,3,-81,3,-124,3,77,3,21,3,-36,2,-101,2,96,2,27,2,-38,1,-110,1,75,1,3,1,-69,0,114,0,41,0,-28,-1,-101,-1,85,-1,16,-1,-57,-2,-118,-2,66,-2,9,-2,-57,-3,-111,-3,87,-3,39,-3,-16,-4,-59,-4,-105,-4,112,-4,76,-4,42,-4,14,-4,-11,-5,-31,-5,-47,-5,-60,-5,-70,-5,-70,-5,-74,-5,-66,-5,-58,-5,-46,-5,-25,-5,-6,-5,21,-4,51,-4,85,-4,124,-4,-90,-4,-45,-4,6,-3,57,-3,112,-3,-86,-3,-30,-3,39,-2,98,-2,-86,-2,-22,-2,51,-1,119,-1,-67,-1,4,0,70,0,-110,0,-44,0,26,1,93,1,-98,1,-32,1,27,2,90,2,-117,2,-59,2,-12,2,38,3,80,3,122,3,-100,3,-66,3,-39,3,-14,3,5,4,20,4,32,4,38,4,43,4,40,4,35,4,24,4,10,4,-6,3,-32,3,-51,3,-88,3,-117,3,102,3,58,3,21,3,-34,2,-76,2,123,2,74,2,17,2,-45,1,-102,1,88,1,30,1,-43,0,-101,0,82,0,24,0,-47,-1,-113,-1,77,-1,9,-1,-52,-2,-120,-2,75,-2,14,-2,-46,-3,-98,-3,101,-3,50,-3,1,-3,-45,-4,-88,-4,-126,-4,91,-4,64,-4,32,-4,13,-4,-10,-5,-22,-5,-37,-5,-39,-5,-45,-5,-38,-5,-35,-5,-20,-5,-7,-5,15,-4,39,-4,67,-4,102,-4,-121,-4,-73,-4,-37,-4,18,-3,64,-3,122,-3,-81,-3,-23,-3,41,-2,102,-2,-84,-2,-22,-2,49,-1,116,-1,-69,-1,-3,-1,66,0,-120,0,-53,0,18,1,80,1,-108,1,-47,1,15,2,72,2,-128,2,-78,2,-26,2,19,3,64,3,102,3,-117,3,-86,3,-59,3,-33,3,-19,3,1,4,6,4,18,4,14,4,18,4,3,4,0,4,-24,3,-37,3,-63,3,-91,3,-120,3,97,3,63,3,19,3,-27,2,-72,2,-127,2,83,2,23,2,-28,1,-91,1,107,1,46,1,-20,0,-78,0,109,0,50,0,-15,-1,-77,-1,118,-1,50,-1,-5,-2,-70,-2,-127,-2,73,-2,14,-2,-35,-3,-87,-3,123,-3,75,-3,32,-3,-8,-4,-44,-4,-82,-4,-106,-4,115,-4,99,-4,73,-4,63,-4,46,-4,40,-4,36,-4,32,-4,40,-4,45,-4,55,-4,75,-4,88,-4,116,-4,-117,-4,-83,-4,-54,-4,-9,-4,24,-3,75,-3,116,-3,-86,-3,-39,-3,18,-2,72,-2,-123,-2,-65,-2,-2,-2,61,-1,122,-1,-68,-1,-7,-1,56,0,122,0,-73,0,-11,0,54,1,109,1,-85,1,-31,1,23,2,75,2,119,2,-84,2,-47,2,-3,2,34,3,63,3,100,3,120,3,-111,3,-91,3,-80,3,-64,3,-60,3,-55,3,-55,3,-61,3,-69,3,-79,3,-101,3,-112,3,112,3,92,3,57,3,22,3,-11,2,-58,2,-93,2,107,2,68,2,10,2,-34,1,-96,1,106,1,49,1,-13,0,-71,0,123,0,61,0,4,0,-59,-1,-121,-1,78,-1,11,-1,-38,-2,-106,-2,102,-2,44,-2,-8,-3,-55,-3,-103,-3,108,-3,65,-3,27,-3,-11,-4,-43,-4,-73,-4,-99,-4,-121,-4,117,-4,99,-4,93,-4,80,-4,82,-4,77,-4,85,-4,91,-4,104,-4,122,-4,-121,-4,-90,-4,-73,-4,-34,-4,-7,-4,34,-3,71,-3,113,-3,-95,-3,-52,-3,0,-2,50,-2,102,-2,-95,-2,-43,-2,20,-1,76,-1,-122,-1,-57,-1,-6,-1,59,0,118,0,-83,0,-17,0,32,1,95,1,-110,1,-56,1,-5,1,41,2,89,2,-125,2,-83,2,-43,2,-9,2,23,3,53,3,77,3,101,3,117,3,-124,3,-113,3,-105,3,-103,3,-101,3,-108,3,-113,3,127,3,116,3,95,3,74,3,48,3,17,3,-14,2,-49,2,-91,2,-127,2,79,2,39,2,-14,1,-58,1,-117,1,91,1,32,1,-24,0}; }
	private static byte[] data11(){ return new byte[] {-78,0,112,0,65,0,-3,-1,-51,-1,-119,-1,89,-1,22,-1,-25,-2,-85,-2,117,-2,71,-2,13,-2,-24,-3,-75,-3,-117,-3,101,-3,60,-3,28,-3,-3,-4,-35,-4,-54,-4,-82,-4,-94,-4,-111,-4,-119,-4,125,-4,127,-4,123,-4,-126,-4,-119,-4,-108,-4,-93,-4,-75,-4,-52,-4,-29,-4,2,-3,32,-3,67,-3,106,-3,-110,-3,-69,-3,-20,-3,20,-2,74,-2,123,-2,-80,-2,-26,-2,29,-1,84,-1,-113,-1,-58,-1,-3,-1,55,0,111,0,-88,0,-33,0,22,1,76,1,127,1,-77,1,-31,1,16,2,58,2,103,2,-118,2,-77,2,-48,2,-11,2,10,3,40,3,56,3,74,3,91,3,97,3,109,3,108,3,109,3,106,3,97,3,86,3,72,3,54,3,34,3,8,3,-21,2,-49,2,-86,2,-120,2,95,2,53,2,10,2,-36,1,-81,1,121,1,75,1,17,1,-34,0,-89,0,110,0,59,0,0,0,-52,-1,-108,-1,90,-1,41,-1,-18,-2,-66,-2,-118,-2,89,-2,39,-2,1,-2,-49,-3,-82,-3,-127,-3,97,-3,62,-3,33,-3,7,-3,-19,-4,-36,-4,-57,-4,-64,-4,-83,-4,-79,-4,-95,-4,-82,-4,-89,-4,-72,-4,-69,-4,-48,-4,-38,-4,-11,-4,10,-3,37,-3,70,-3,99,-3,-117,-3,-81,-3,-40,-3,3,-2,48,-2,91,-2,-111,-2,-67,-2,-10,-2,38,-1,95,-1,-110,-1,-54,-1,-3,-1,53,0,104,0,-93,0,-48,0,14,1,55,1,112,1,-100,1,-53,1,-10,1,31,2,72,2,109,2,-113,2,-79,2,-52,2,-24,2,-1,2,16,3,37,3,45,3,60,3,62,3,70,3,64,3,66,3,54,3,46,3,31,3,15,3,-6,2,-28,2,-57,2,-84,2,-119,2,105,2,65,2,27,2,-15,1,-59,1,-103,1,104,1,57,1,6,1,-45,0,-97,0,105,0,53,0,5,0,-54,-1,-99,-1,95,-1,52,-1,-3,-2,-52,-2,-99,-2,107,-2,65,-2,23,-2,-19,-3,-56,-3,-96,-3,-126,-3,96,-3,68,-3,45,-3,15,-3,7,-3,-20,-4,-23,-4,-41,-4,-43,-4,-46,-4,-49,-4,-40,-4,-38,-4,-25,-4,-10,-4,0,-3,29,-3,43,-3,76,-3,101,-3,-124,-3,-87,-3,-54,-3,-10,-3,25,-2,71,-2,111,-2,-94,-2,-50,-2,2,-1,49,-1,101,-1,-102,-1,-55,-1,1,0,46,0,104,0,-106,0,-53,0,-5,0,46,1,91,1,-119,1,-75,1,-35,1,6,2,44,2,79,2,111,2,-111,2,-89,2,-56,2,-42,2,-17,2,-6,2,9,3,17,3,25,3,26,3,29,3,21,3,17,3,6,3,-8,2,-20,2,-46,2,-62,2,-91,2,-118,2,108,2,74,2,37,2,3,2,-43,1,-76,1,-127,1,92,1,37,1,-4,0,-56,0,-105,0,101,0,51,0,1,0,-46,-1,-100,-1,109,-1,57,-1,12,-1,-39,-2,-81,-2,126,-2,88,-2,44,-2,9,-2,-32,-3,-62,-3,-101,-3,-122,-3,97,-3,82,-3,53,-3,40,-3,21,-3,12,-3,1,-3,-5,-4,-8,-4,-7,-4,-5,-4,4,-3,12,-3,26,-3,41,-3,60,-3,81,-3,108,-3,-124,-3,-91,-3,-60,-3,-25,-3,13,-2,50,-2,91,-2,-124,-2,-79,-2,-33,-2,12,-1,60,-1,110,-1,-102,-1,-45,-1,-6,-1,50,0,94,0,-110,0,-66,0,-13,0,28,1,76,1,119,1,-99,1,-55,1,-21,1,18,2,50,2,82,2,111,2,-117,2,-96,2,-72,2,-58,2,-38,2,-32,2,-18,2,-14,2,-12,2,-10,2,-16,2,-22,2,-29,2,-46,2,-56,2,-79,2,-98,2,-123,2,107,2,78,2,46,2,11,2,-25,1,-61,1,-101,1,114,1,71,1,27,1,-19,0,-63,0,-115,0,98,0,47,0,4,0,-47,-1,-93,-1,115,-1,67,-1,22,-1,-22,-2,-68,-2,-107,-2,104,-2,69,-2,32,-2,-4,-3,-38,-3,-66,-3,-98,-3,-120,-3,110,-3,89,-3,76,-3,55,-3,51,-3,36,-3,33,-3,30,-3,28,-3,35,-3,38,-3,51,-3,60,-3,76,-3,94,-3,115,-3,-118,-3,-91,-3,-64,-3,-31,-3,0,-2,36,-2,75,-2,108,-2,-102,-2,-66,-2,-19,-2,24,-1,70,-1,117,-1,-96,-1,-45,-1,-6,-1,50,0,87,0,-114,0,-76,0,-26,0,15,1,61,1,98,1,-114,1,-81,1,-42,1,-9,1,23,2,54,2,81,2,107,2,-127,2,-107,2,-91,2,-74,2,-68,2,-52,2,-53,2,-46,2,-49,2,-51,2,-57,2,-66,2,-79,2,-93,2,-111,2,126,2,103,2,76,2,50,2,18,2,-13,1,-47,1,-86,1,-118,1,94,1,58,1,11,1,-29,0,-75,0,-118,0,91,0,46,0,1,0,-42,-1,-90,-1,122,-1,77,-1,32,-1,-8,-2,-52,-2,-91,-2,125,-2,91,-2,53,-2,23,-2,-13,-3,-37,-3,-69,-3,-91,-3,-113,-3,122,-3}; }
	private static byte[] data12(){ return new byte[] {108,-3,91,-3,83,-3,73,-3,68,-3,64,-3,67,-3,67,-3,76,-3,83,-3,95,-3,110,-3,127,-3,-111,-3,-87,-3,-62,-3,-37,-3,-3,-3,22,-2,63,-2,91,-2,-124,-2,-90,-2,-45,-2,-9,-2,38,-1,76,-1,124,-1,-90,-1,-45,-1,-1,-1,41,0,88,0,-125,0,-82,0,-38,0,3,1,43,1,84,1,120,1,-99,1,-67,1,-31,1,-5,1,30,2,49,2,79,2,98,2,117,2,-122,2,-110,2,-99,2,-89,2,-85,2,-83,2,-81,2,-88,2,-88,2,-104,2,-109,2,-127,2,115,2,95,2,72,2,49,2,22,2,-7,1,-37,1,-70,1,-105,1,118,1,78,1,42,1,-2,0,-39,0,-84,0,-125,0,87,0,44,0,1,0,-41,-1,-85,-1,-127,-1,84,-1,45,-1,2,-1,-34,-2,-77,-2,-110,-2,107,-2,80,-2,42,-2,17,-2,-15,-3,-38,-3,-64,-3,-82,-3,-103,-3,-116,-3,123,-3,117,-3,105,-3,102,-3,99,-3,98,-3,104,-3,106,-3,119,-3,126,-3,-115,-3,-98,-3,-81,-3,-57,-3,-35,-3,-10,-3,19,-2,50,-2,79,-2,118,-2,-112,-2,-68,-2,-36,-2,8,-1,46,-1,87,-1,-128,-1,-83,-1,-46,-1,2,0,37,0,85,0,124,0,-89,0,-51,0,-7,0,27,1,68,1,103,1,-122,1,-84,1,-60,1,-22,1,-5,1,31,2,44,2,71,2,88,2,100,2,117,2,124,2,-122,2,-119,2,-112,2,-119,2,-116,2,-125,2,123,2,114,2,98,2,86,2,64,2,46,2,20,2,-3,1,-31,1,-60,1,-91,1,-125,1,99,1,64,1,24,1,-9,0,-54,0,-90,0,125,0,80,0,45,0,-1,-1,-37,-1,-83,-1,-119,-1,90,-1,58,-1,12,-1,-19,-2,-62,-2,-91,-2,126,-2,100,-2,66,-2,40,-2,10,-2,-11,-3,-36,-3,-54,-3,-72,-3,-89,-3,-98,-3,-111,-3,-116,-3,-125,-3,-122,-3,-127,-3,-120,-3,-118,-3,-107,-3,-98,-3,-84,-3,-70,-3,-51,-3,-32,-3,-8,-3,15,-2,45,-2,69,-2,103,-2,-123,-2,-91,-2,-53,-2,-22,-2,20,-1,55,-1,97,-1,-123,-1,-79,-1,-43,-1,0,0,39,0,77,0,121,0,-100,0,-58,0,-22,0,16,1,52,1,85,1,117,1,-108,1,-79,1,-47,1,-27,1,3,2,17,2,45,2,55,2,75,2,84,2,95,2,102,2,107,2,108,2,112,2,103,2,105,2,89,2,85,2,69,2,57,2,35,2,21,2,-8,1,-23,1,-59,1,-78,1,-114,1,113,1,84,1,46,1,13,1,-24,0,-61,0,-99,0,118,0,79,0,39,0,2,0,-36,-1,-79,-1,-115,-1,102,-1,63,-1,29,-1,-11,-2,-43,-2,-78,-2,-106,-2,116,-2,89,-2,61,-2,35,-2,14,-2,-8,-3,-29,-3,-43,-3,-60,-3,-69,-3,-81,-3,-87,-3,-91,-3,-96,-3,-92,-3,-93,-3,-85,-3,-79,-3,-67,-3,-57,-3,-42,-3,-23,-3,-5,-3,15,-2,43,-2,61,-2,96,-2,119,-2,-103,-2,-74,-2,-40,-2,-7,-2,30,-1,66,-1,103,-1,-115,-1,-78,-1,-37,-1,-4,-1,39,0,74,0,113,0,-105,0,-69,0,-33,0,4,1,34,1,72,1,96,1,-124,1,-101,1,-72,1,-47,1,-25,1,-4,1,14,2,31,2,43,2,59,2,63,2,74,2,77,2,79,2,80,2,76,2,71,2,66,2,51,2,46,2,24,2,14,2,-9,1,-28,1,-51,1,-77,1,-103,1,126,1,94,1,68,1,31,1,1,1,-36,0,-70,0,-107,0,113,0,74,0,39,0,1,0,-36,-1,-73,-1,-110,-1,108,-1,74,-1,38,-1,3,-1,-28,-2,-63,-2,-89,-2,-120,-2,109,-2,82,-2,60,-2,37,-2,16,-2,-2,-3,-16,-3,-34,-3,-38,-3,-56,-3,-55,-3,-64,-3,-65,-3,-65,-3,-62,-3,-58,-3,-48,-3,-42,-3,-28,-3,-14,-3,-1,-3,23,-2,38,-2,64,-2,86,-2,112,-2,-115,-2,-87,-2,-58,-2,-25,-2,4,-1,44,-1,71,-1,114,-1,-112,-1,-72,-1,-38,-1,-1,-1,35,0,71,0,109,0,-115,0,-76,0,-44,0,-10,0,23,1,54,1,80,1,112,1,-120,1,-92,1,-70,1,-49,1,-29,1,-11,1,6,2,16,2,31,2,35,2,47,2,47,2,53,2,49,2,50,2,42,2,36,2,28,2,15,2,2,2,-14,1,-32,1,-52,1,-73,1,-98,1,-122,1,107,1,79,1,49,1,19,1,-11,0,-48,0,-76,0,-118,0,110,0,69,0,38,0,1,0,-34,-1,-71,-1,-103,-1,113,-1,86,-1,45,-1,18,-1,-17,-2,-44,-2,-76,-2,-100,-2,-128,-2,102,-2,84,-2,56,-2,43,-2,23,-2,6,-2,-3,-3,-17,-3,-24,-3,-30,-3,-37,-3,-35,-3,-39,-3,-34,-3,-30,-3,-23,-3,-13,-3,-3,-3,10,-2,27,-2,43,-2,63,-2,84,-2,108,-2,-125,-2,-97,-2,-72,-2,-41,-2}; }
	private static byte[] data13(){ return new byte[] {-14,-2,20,-1,50,-1,83,-1,119,-1,-106,-1,-69,-1,-35,-1,-1,-1,32,0,69,0,102,0,-120,0,-84,0,-56,0,-21,0,10,1,37,1,67,1,92,1,118,1,-112,1,-93,1,-69,1,-54,1,-33,1,-22,1,-5,1,0,2,13,2,16,2,24,2,22,2,27,2,16,2,23,2,3,2,7,2,-13,1,-22,1,-38,1,-55,1,-74,1,-93,1,-120,1,117,1,89,1,62,1,37,1,3,1,-22,0,-56,0,-89,0,-119,0,99,0,70,0,35,0,-1,-1,-30,-1,-69,-1,-98,-1,122,-1,91,-1,58,-1,27,-1,-2,-2,-32,-2,-57,-2,-84,-2,-110,-2,124,-2,100,-2,83,-2,63,-2,46,-2,34,-2,18,-2,10,-2,3,-2,-7,-3,-7,-3,-11,-3,-12,-3,-8,-3,-3,-3,2,-2,13,-2,21,-2,35,-2,49,-2,67,-2,84,-2,105,-2,127,-2,-106,-2,-82,-2,-53,-2,-30,-2,2,-1,29,-1,60,-1,93,-1,124,-1,-100,-1,-65,-1,-36,-1,1,0,30,0,66,0,97,0,-127,0,-93,0,-65,0,-32,0,-3,0,22,1,54,1,71,1,105,1,120,1,-110,1,-92,1,-75,1,-56,1,-47,1,-28,1,-26,1,-11,1,-9,1,-4,1,0,2,-4,1,-3,1,-11,1,-13,1,-25,1,-33,1,-47,1,-61,1,-76,1,-97,1,-112,1,117,1,100,1,70,1,50,1,18,1,-4,0,-37,0,-65,0,-96,0,-126,0,94,0,69,0,28,0,5,0,-33,-1,-62,-1,-96,-1,-126,-1,97,-1,71,-1,35,-1,12,-1,-20,-2,-41,-2,-68,-2,-92,-2,-114,-2,121,-2,102,-2,85,-2,69,-2,55,-2,44,-2,34,-2,26,-2,20,-2,16,-2,14,-2,16,-2,15,-2,23,-2,24,-2,40,-2,41,-2,63,-2,67,-2,91,-2,103,-2,126,-2,-113,-2,-86,-2,-66,-2,-40,-2,-13,-2,10,-1,44,-1,68,-1,101,-1,-128,-1,-91,-1,-66,-1,-30,-1,-2,-1,28,0,66,0,89,0,127,0,-106,0,-69,0,-46,0,-15,0,12,1,34,1,61,1,83,1,104,1,-128,1,-115,1,-93,1,-81,1,-67,1,-53,1,-47,1,-37,1,-33,1,-28,1,-27,1,-25,1,-30,1,-32,1,-40,1,-48,1,-55,1,-70,1,-83,1,-96,1,-117,1,124,1,102,1,77,1,60,1,31,1,9,1,-19,0,-47,0,-73,0,-105,0,124,0,90,0,64,0,29,0,4,0,-32,-1,-59,-1,-91,-1,-120,-1,105,-1,79,-1,46,-1,24,-1,-5,-2,-30,-2,-49,-2,-78,-2,-95,-2,-115,-2,120,-2,106,-2,91,-2,76,-2,68,-2,56,-2,48,-2,46,-2,39,-2,38,-2,40,-2,37,-2,49,-2,47,-2,62,-2,66,-2,79,-2,96,-2,103,-2,-126,-2,-116,-2,-93,-2,-70,-2,-52,-2,-24,-2,-1,-2,23,-1,53,-1,77,-1,109,-1,-121,-1,-89,-1,-60,-1,-32,-1,2,0,25,0,61,0,87,0,119,0,-111,0,-79,0,-57,0,-25,0,-4,0,24,1,43,1,67,1,89,1,105,1,126,1,-116,1,-100,1,-89,1,-75,1,-70,1,-59,1,-56,1,-52,1,-48,1,-52,1,-50,1,-57,1,-63,1,-67,1,-82,1,-87,1,-106,1,-115,1,118,1,108,1,81,1,68,1,38,1,21,1,-6,0,-30,0,-55,0,-85,0,-109,0,114,0,90,0,57,0,30,0,3,0,-31,-1,-55,-1,-88,-1,-113,-1,112,-1,86,-1,58,-1,34,-1,8,-1,-15,-2,-37,-2,-60,-2,-78,-2,-99,-2,-115,-2,125,-2,110,-2,100,-2,85,-2,81,-2,71,-2,65,-2,65,-2,59,-2,62,-2,64,-2,65,-2,76,-2,78,-2,91,-2,98,-2,116,-2,125,-2,-110,-2,-98,-2,-74,-2,-59,-2,-31,-2,-16,-2,15,-1,32,-1,63,-1,87,-1,114,-1,-113,-1,-85,-1,-60,-1,-25,-1,-5,-1,30,0,55,0,84,0,113,0,-118,0,-89,0,-64,0,-38,0,-15,0,10,1,28,1,53,1,71,1,88,1,108,1,121,1,-120,1,-108,1,-99,1,-88,1,-84,1,-75,1,-76,1,-69,1,-76,1,-70,1,-82,1,-80,1,-94,1,-97,1,-113,1,-120,1,116,1,107,1,84,1,70,1,48,1,26,1,8,1,-20,0,-38,0,-68,0,-90,0,-119,0,110,0,87,0,51,0,33,0,-3,-1,-23,-1,-57,-1,-81,-1,-109,-1,118,-1,98,-1,64,-1,47,-1,18,-1,0,-1,-25,-2,-42,-2,-65,-2,-79,-2,-99,-2,-112,-2,-126,-2,118,-2,109,-2,98,-2,95,-2,85,-2,87,-2,81,-2,84,-2,85,-2,87,-2,96,-2,100,-2,109,-2,123,-2,-128,-2,-105,-2,-100,-2,-75,-2,-62,-2,-40,-2,-22,-2,3,-1,20,-1,49,-1,69,-1,94,-1,124,-1,-110,-1,-81,-1,-54,-1,-29,-1,1,0,24,0,55,0,78,0,108,0,-123,0,-99,0,-71,0,-51,0,-24,0,-6,0,18,1,36,1,55,1}; }
	private static byte[] data14(){ return new byte[] {74,1,87,1,106,1,115,1,-127,1,-118,1,-110,1,-102,1,-100,1,-93,1,-94,1,-93,1,-95,1,-100,1,-103,1,-112,1,-119,1,126,1,115,1,101,1,86,1,71,1,51,1,35,1,14,1,-8,0,-27,0,-52,0,-76,0,-98,0,-126,0,106,0,81,0,51,0,29,0,-1,-1,-24,-1,-52,-1,-79,-1,-103,-1,126,-1,102,-1,77,-1,55,-1,29,-1,14,-1,-13,-2,-27,-2,-49,-2,-65,-2,-80,-2,-95,-2,-108,-2,-118,-2,127,-2,119,-2,114,-2,108,-2,103,-2,107,-2,100,-2,108,-2,108,-2,113,-2,124,-2,126,-2,-115,-2,-107,-2,-91,-2,-79,-2,-61,-2,-47,-2,-26,-2,-6,-2,11,-1,36,-1,54,-1,81,-1,103,-1,127,-1,-102,-1,-79,-1,-50,-1,-27,-1,-2,-1,26,0,50,0,76,0,103,0,124,0,-103,0,-84,0,-57,0,-38,0,-16,0,3,1,22,1,42,1,55,1,75,1,83,1,101,1,109,1,119,1,-128,1,-123,1,-120,1,-112,1,-116,1,-111,1,-117,1,-118,1,-125,1,127,1,117,1,107,1,98,1,82,1,73,1,51,1,41,1,17,1,3,1,-19,0,-41,0,-59,0,-86,0,-105,0,125,0,100,0,75,0,52,0,24,0,3,0,-25,-1,-51,-1,-72,-1,-102,-1,-119,-1,104,-1,91,-1,59,-1,45,-1,21,-1,4,-1,-16,-2,-33,-2,-50,-2,-64,-2,-78,-2,-89,-2,-102,-2,-110,-2,-118,-2,-122,-2,126,-2,125,-2,123,-2,122,-2,127,-2,127,-2,-122,-2,-117,-2,-107,-2,-102,-2,-84,-2,-80,-2,-58,-2,-50,-2,-29,-2,-13,-2,4,-1,27,-1,42,-1,68,-1,86,-1,113,-1,-124,-1,-97,-1,-74,-1,-51,-1,-22,-1,-4,-1,26,0,46,0,74,0,96,0,121,0,-114,0,-88,0,-71,0,-46,0,-28,0,-10,0,10,1,26,1,41,1,58,1,68,1,83,1,92,1,101,1,109,1,114,1,118,1,125,1,121,1,124,1,122,1,118,1,114,1,106,1,101,1,88,1,83,1,65,1,55,1,40,1,23,1,7,1,-11,0,-32,0,-48,0,-71,0,-93,0,-112,0,116,0,99,0,69,0,51,0,22,0,2,0,-23,-1,-47,-1,-71,-1,-94,-1,-117,-1,114,-1,98,-1,69,-1,56,-1,31,-1,16,-1,-3,-2,-19,-2,-34,-2,-50,-2,-61,-2,-75,-2,-81,-2,-96,-2,-95,-2,-110,-2,-106,-2,-116,-2,-112,-2,-115,-2,-113,-2,-107,-2,-108,-2,-95,-2,-93,-2,-81,-2,-72,-2,-59,-2,-48,-2,-31,-2,-18,-2,1,-1,16,-1,38,-1,53,-1,76,-1,96,-1,117,-1,-116,-1,-92,-1,-72,-1,-46,-1,-24,-1,-1,-1,23,0,45,0,69,0,93,0,113,0,-118,0,-99,0,-77,0,-57,0,-40,0,-20,0,-5,0,15,1,24,1,46,1,50,1,69,1,73,1,84,1,93,1,94,1,105,1,100,1,108,1,103,1,105,1,99,1,97,1,90,1,81,1,74,1,64,1,52,1,40,1,24,1,11,1,-6,0,-23,0,-42,0,-59,0,-81,0,-96,0,-126,0,118,0,87,0,71,0,46,0,22,0,2,0,-23,-1,-44,-1,-68,-1,-89,-1,-112,-1,123,-1,102,-1,81,-1,63,-1,45,-1,25,-1,12,-1,-8,-2,-19,-2,-35,-2,-47,-2,-57,-2,-68,-2,-75,-2,-83,-2,-88,-2,-93,-2,-94,-2,-97,-2,-97,-2,-94,-2,-92,-2,-86,-2,-82,-2,-74,-2,-67,-2,-54,-2,-45,-2,-32,-2,-19,-2,-3,-2,11,-1,31,-1,44,-1,67,-1,80,-1,108,-1,121,-1,-109,-1,-89,-1,-69,-1,-42,-1,-25,-1,1,0,19,0,46,0,64,0,89,0,107,0,-124,0,-108,0,-84,0,-68,0,-49,0,-33,0,-15,0,-2,0,16,1,26,1,40,1,49,1,59,1,70,1,71,1,83,1,81,1,88,1,88,1,87,1,87,1,81,1,82,1,70,1,69,1,56,1,48,1,39,1,23,1,14,1,-5,0,-16,0,-36,0,-51,0,-69,0,-89,0,-105,0,126,0,109,0,87,0,64,0,46,0,19,0,3,0,-22,-1,-42,-1,-63,-1,-88,-1,-104,-1,127,-1,111,-1,91,-1,68,-1,60,-1,32,-1,26,-1,4,-1,-7,-2,-19,-2,-33,-2,-43,-2,-50,-2,-63,-2,-63,-2,-73,-2,-76,-2,-77,-2,-81,-2,-77,-2,-80,-2,-74,-2,-71,-2,-65,-2,-57,-2,-52,-2,-39,-2,-32,-2,-16,-2,-7,-2,9,-1,26,-1,36,-1,61,-1,71,-1,92,-1,113,-1,-128,-1,-104,-1,-84,-1,-65,-1,-41,-1,-23,-1,-1,-1,21,0,42,0,61,0,85,0,102,0,125,0,-114,0,-93,0,-77,0,-59,0,-43,0,-28,0,-11,0,-1,0,15,1,24,1,36,1,44,1,52,1,58,1,64,1,68,1,68,1,74,1,68,1,73,1,64,1,65,1,55,1,53,1,40,1,36,1,22,1,12,1,0,1}; }
	private static byte[] data15(){ return new byte[] {-18,0,-25,0,-50,0,-57,0,-81,0,-94,0,-116,0,123,0,102,0,84,0,60,0,44,0,18,0,4,0,-22,-1,-40,-1,-61,-1,-81,-1,-103,-1,-118,-1,114,-1,100,-1,79,-1,65,-1,47,-1,35,-1,16,-1,8,-1,-9,-2,-17,-2,-30,-2,-34,-2,-48,-2,-48,-2,-57,-2,-60,-2,-61,-2,-65,-2,-61,-2,-64,-2,-57,-2,-57,-2,-48,-2,-43,-2,-37,-2,-24,-2,-19,-2,-3,-2,6,-1,21,-1,36,-1,49,-1,68,-1,80,-1,101,-1,119,-1,-122,-1,-97,-1,-82,-1,-61,-1,-40,-1,-20,-1,-2,-1,21,0,38,0,61,0,78,0,101,0,114,0,-116,0,-105,0,-83,0,-69,0,-54,0,-38,0,-24,0,-13,0,3,1,10,1,21,1,31,1,36,1,44,1,49,1,50,1,56,1,55,1,55,1,56,1,48,1,50,1,41,1,36,1,30,1,16,1,14,1,-6,0,-8,0,-32,0,-36,0,-57,0,-71,0,-85,0,-106,0,-120,0,116,0,99,0,77,0,61,0,38,0,20,0,2,0,-20,-1,-38,-1,-58,-1,-78,-1,-95,-1,-116,-1,124,-1,104,-1,91,-1,72,-1,60,-1,42,-1,30,-1,18,-1,6,-1,-6,-2,-14,-2,-23,-2,-30,-2,-35,-2,-43,-2,-42,-2,-48,-2,-48,-2,-47,-2,-48,-2,-42,-2,-41,-2,-34,-2,-30,-2,-21,-2,-13,-2,-3,-2,8,-1,18,-1,33,-1,45,-1,61,-1,74,-1,92,-1,107,-1,124,-1,-112,-1,-98,-1,-74,-1,-60,-1,-37,-1,-21,-1,1,0,16,0,39,0,57,0,74,0,96,0,110,0,-126,0,-108,0,-95,0,-76,0,-64,0,-49,0,-35,0,-23,0,-13,0,0,1,7,1,17,1,22,1,30,1,32,1,39,1,39,1,39,1,43,1,36,1,39,1,32,1,27,1,24,1,12,1,8,1,-3,0,-15,0,-23,0,-39,0,-50,0,-65,0,-80,0,-95,0,-110,0,126,0,114,0,90,0,78,0,53,0,40,0,17,0,3,0,-19,-1,-36,-1,-57,-1,-73,-1,-91,-1,-110,-1,-126,-1,113,-1,95,-1,85,-1,65,-1,56,-1,41,-1,26,-1,22,-1,3,-1,3,-1,-13,-2,-15,-2,-22,-2,-26,-2,-31,-2,-31,-2,-35,-2,-32,-2,-32,-2,-30,-2,-26,-2,-20,-2,-16,-2,-7,-2,-1,-2,9,-1,21,-1,28,-1,46,-1,53,-1,72,-1,82,-1,99,-1,116,-1,-127,-1,-106,-1,-92,-1,-73,-1,-55,-1,-36,-1,-20,-1,1,0,16,0,36,0,55,0,71,0,89,0,107,0,124,0,-117,0,-100,0,-88,0,-71,0,-60,0,-45,0,-34,0,-25,0,-12,0,-7,0,6,1,6,1,19,1,17,1,24,1,26,1,24,1,29,1,23,1,24,1,17,1,15,1,9,1,1,1,-6,0,-16,0,-24,0,-37,0,-48,0,-60,0,-76,0,-86,0,-104,0,-117,0,122,0,104,0,90,0,70,0,55,0,36,0,16,0,3,0,-19,-1,-33,-1,-53,-1,-72,-1,-84,-1,-108,-1,-117,-1,119,-1,103,-1,93,-1,75,-1,64,-1,52,-1,39,-1,30,-1,19,-1,10,-1,5,-1,-5,-2,-6,-2,-15,-2,-15,-2,-20,-2,-18,-2,-20,-2,-18,-2,-15,-2,-13,-2,-7,-2,-2,-2,3,-1,15,-1,18,-1,34,-1,39,-1,54,-1,66,-1,76,-1,97,-1,101,-1,125,-1,-121,-1,-102,-1,-86,-1,-71,-1,-51,-1,-36,-1,-17,-1,-1,-1,16,0,36,0,49,0,70,0,84,0,103,0,116,0,-122,0,-109,0,-95,0,-79,0,-72,0,-53,0,-46,0,-36,0,-23,0,-19,0,-9,0,-3,0,3,1,4,1,13,1,8,1,15,1,11,1,12,1,9,1,7,1,-1,0,-3,0,-12,0,-17,0,-28,0,-34,0,-50,0,-55,0,-72,0,-82,0,-97,0,-109,0,-126,0,117,0,101,0,83,0,69,0,50,0,34,0,18,0,1,0,-17,-1,-33,-1,-50,-1,-67,-1,-83,-1,-98,-1,-117,-1,-127,-1,110,-1,99,-1,87,-1,71,-1,62,-1,50,-1,39,-1,32,-1,23,-1,15,-1,10,-1,3,-1,1,-1,-4,-2,-5,-2,-5,-2,-7,-2,-4,-2,-4,-2,1,-1,6,-1,10,-1,16,-1,25,-1,31,-1,44,-1,50,-1,63,-1,76,-1,84,-1,105,-1,109,-1,-125,-1,-115,-1,-97,-1,-82,-1,-67,-1,-49,-1,-34,-1,-16,-1,-1,-1,16,0,31,0,52,0,61,0,85,0,94,0,113,0,126,0,-115,0,-103,0,-89,0,-78,0,-65,0,-56,0,-44,0,-39,0,-26,0,-23,0,-14,0,-10,0,-9,0,1,1,-6,0,4,1,-2,0,-3,0,0,1,-11,0,-8,0,-19,0,-21,0,-29,0,-40,0,-44,0,-60,0,-66,0,-78,0,-94,0,-101,0,-119,0,126,0,110,0,95,0,82,0,63,0,49,0,33,0,15,0,2,0,-15,-1,-35,-1,-42,-1,-70,-1,-73,-1,-99,-1,-106,-1,-125,-1}; }
	private static byte[] data16(){ return new byte[] {119,-1,106,-1,94,-1,82,-1,70,-1,61,-1,49,-1,42,-1,35,-1,26,-1,22,-1,17,-1,9,-1,14,-1,3,-1,11,-1,2,-1,12,-1,6,-1,16,-1,15,-1,24,-1,26,-1,38,-1,41,-1,53,-1,61,-1,72,-1,84,-1,95,-1,107,-1,122,-1,-124,-1,-106,-1,-95,-1,-77,-1,-64,-1,-46,-1,-33,-1,-15,-1,-2,-1,16,0,30,0,48,0,61,0,77,0,92,0,106,0,121,0,-121,0,-112,0,-96,0,-88,0,-73,0,-65,0,-56,0,-46,0,-41,0,-32,0,-26,0,-24,0,-16,0,-17,0,-13,0,-12,0,-14,0,-13,0,-15,0,-20,0,-22,0,-29,0,-34,0,-39,0,-50,0,-55,0,-69,0,-74,0,-90,0,-97,0,-112,0,-125,0,122,0,102,0,94,0,74,0,63,0,45,0,33,0,12,0,5,0,-19,-1,-26,-1,-49,-1,-58,-1,-76,-1,-90,-1,-103,-1,-120,-1,-127,-1,111,-1,103,-1,89,-1,79,-1,71,-1,58,-1,55,-1,42,-1,40,-1,32,-1,26,-1,27,-1,18,-1,22,-1,17,-1,19,-1,19,-1,23,-1,23,-1,29,-1,35,-1,36,-1,50,-1,50,-1,64,-1,69,-1,83,-1,90,-1,104,-1,115,-1,126,-1,-115,-1,-104,-1,-88,-1,-74,-1,-61,-1,-44,-1,-31,-1,-15,-1,-1,-1,15,0,29,0,45,0,58,0,74,0,87,0,102,0,115,0,126,0,-116,0,-105,0,-95,0,-82,0,-76,0,-65,0,-55,0,-52,0,-42,0,-38,0,-35,0,-28,0,-28,0,-25,0,-23,0,-26,0,-24,0,-30,0,-27,0,-38,0,-35,0,-47,0,-51,0,-57,0,-68,0,-75,0,-85,0,-96,0,-106,0,-118,0,124,0,115,0,100,0,86,0,74,0,57,0,45,0,29,0,15,0,0,0,-12,-1,-31,-1,-42,-1,-58,-1,-71,-1,-86,-1,-98,-1,-113,-1,-124,-1,122,-1,105,-1,103,-1,83,-1,82,-1,68,-1,62,-1,56,-1,47,-1,44,-1,38,-1,37,-1,30,-1,34,-1,26,-1,34,-1,27,-1,37,-1,32,-1,43,-1,42,-1,51,-1,54,-1,66,-1,68,-1,83,-1,88,-1,98,-1,114,-1,117,-1,-119,-1,-113,-1,-97,-1,-84,-1,-72,-1,-56,-1,-45,-1,-26,-1,-17,-1,2,0,11,0,30,0,41,0,56,0,71,0,82,0,97,0,110,0,120,0,-124,0,-111,0,-104,0,-89,0,-85,0,-74,0,-66,0,-61,0,-51,0,-51,0,-42,0,-42,0,-37,0,-37,0,-34,0,-37,0,-35,0,-41,0,-38,0,-48,0,-46,0,-57,0,-61,0,-67,0,-77,0,-82,0,-95,0,-102,0,-116,0,-123,0,119,0,108,0,96,0,81,0,71,0,54,0,43,0,28,0,13,0,2,0,-15,-1,-26,-1,-42,-1,-53,-1,-71,-1,-79,-1,-97,-1,-103,-1,-120,-1,127,-1,116,-1,105,-1,97,-1,87,-1,78,-1,73,-1,62,-1,60,-1,53,-1,49,-1,47,-1,42,-1,42,-1,41,-1,39,-1,45,-1,40,-1,50,-1,47,-1,56,-1,59,-1,66,-1,73,-1,78,-1,91,-1,95,-1,109,-1,116,-1,-126,-1,-120,-1,-102,-1,-96,-1,-79,-1,-67,-1,-56,-1,-39,-1,-28,-1,-15,-1,2,0,10,0,29,0,40,0,51,0,70,0,76,0,95,0,101,0,117,0,125,0,-118,0,-110,0,-100,0,-91,0,-83,0,-76,0,-69,0,-63,0,-58,0,-55,0,-50,0,-50,0,-45,0,-47,0,-46,0,-46,0,-50,0,-51,0,-55,0,-60,0,-63,0,-72,0,-75,0,-86,0,-91,0,-102,0,-111,0,-121,0,126,0,113,0,104,0,89,0,80,0,65,0,53,0,40,0,27,0,12,0,3,0,-16,-1,-22,-1,-43,-1,-50,-1,-66,-1,-77,-1,-90,-1,-100,-1,-114,-1,-123,-1,124,-1,111,-1,105,-1,96,-1,84,-1,84,-1,71,-1,70,-1,62,-1,60,-1,55,-1,55,-1,51,-1,52,-1,50,-1,53,-1,53,-1,59,-1,57,-1,66,-1,68,-1,74,-1,84,-1,85,-1,100,-1,101,-1,119,-1,119,-1,-118,-1,-113,-1,-101,-1,-86,-1,-80,-1,-61,-1,-54,-1,-37,-1,-28,-1,-11,-1,-3,-1,15,0,23,0,40,0,50,0,64,0,75,0,87,0,101,0,106,0,125,0,125,0,-112,0,-110,0,-98,0,-91,0,-85,0,-79,0,-71,0,-69,0,-63,0,-62,0,-57,0,-58,0,-55,0,-58,0,-56,0,-59,0,-60,0,-67,0,-66,0,-76,0,-78,0,-86,0,-93,0,-98,0,-111,0,-117,0,-127,0,118,0,110,0,97,0,86,0,75,0,64,0,47,0,42,0,22,0,14,0,3,0,-17,-1,-20,-1,-42,-1,-45,-1,-65,-1,-72,-1,-86,-1,-97,-1,-105,-1,-120,-1,-124,-1,116,-1,115,-1,99,-1,99,-1,86,-1,83,-1,78,-1,71,-1,69,-1,67,-1,61,-1,64,-1,60,-1,60,-1,63,-1,63,-1,67,-1,68,-1,75,-1}; }
	private static byte[] data17(){ return new byte[] {76,-1,86,-1,86,-1,101,-1,99,-1,117,-1,118,-1,-124,-1,-116,-1,-108,-1,-93,-1,-86,-1,-72,-1,-61,-1,-50,-1,-36,-1,-26,-1,-11,-1,-3,-1,14,0,24,0,34,0,53,0,56,0,74,0,84,0,91,0,109,0,111,0,125,0,-122,0,-117,0,-103,0,-104,0,-88,0,-91,0,-78,0,-78,0,-75,0,-67,0,-71,0,-64,0,-68,0,-64,0,-68,0,-67,0,-72,0,-73,0,-78,0,-82,0,-88,0,-94,0,-99,0,-110,0,-113,0,-127,0,125,0,111,0,105,0,92,0,83,0,71,0,59,0,49,0,35,0,26,0,10,0,3,0,-14,-1,-22,-1,-36,-1,-47,-1,-59,-1,-70,-1,-81,-1,-93,-1,-100,-1,-113,-1,-119,-1,123,-1,122,-1,106,-1,108,-1,93,-1,91,-1,88,-1,78,-1,81,-1,73,-1,72,-1,73,-1,68,-1,72,-1,70,-1,74,-1,74,-1,80,-1,81,-1,87,-1,91,-1,98,-1,104,-1,113,-1,117,-1,-126,-1,-122,-1,-109,-1,-101,-1,-92,-1,-79,-1,-69,-1,-59,-1,-46,-1,-36,-1,-24,-1,-11,-1,-1,-1,12,0,22,0,36,0,44,0,59,0,67,0,81,0,88,0,101,0,108,0,117,0,-127,0,-124,0,-112,0,-108,0,-100,0,-95,0,-89,0,-86,0,-83,0,-77,0,-80,0,-73,0,-76,0,-74,0,-76,0,-78,0,-79,0,-83,0,-86,0,-90,0,-98,0,-100,0,-107,0,-117,0,-121,0,124,0,117,0,109,0,96,0,91,0,77,0,68,0,56,0,46,0,35,0,23,0,11,0,1,0,-11,-1,-23,-1,-33,-1,-47,-1,-52,-1,-71,-1,-74,-1,-90,-1,-96,-1,-105,-1,-117,-1,-122,-1,124,-1,118,-1,109,-1,107,-1,95,-1,98,-1,87,-1,87,-1,84,-1,80,-1,82,-1,78,-1,79,-1,81,-1,81,-1,85,-1,86,-1,91,-1,94,-1,101,-1,104,-1,113,-1,117,-1,-128,-1,-125,-1,-112,-1,-105,-1,-97,-1,-84,-1,-80,-1,-63,-1,-58,-1,-42,-1,-35,-1,-23,-1,-9,-1,-4,-1,15,0,18,0,36,0,42,0,55,0,66,0,74,0,87,0,94,0,103,0,113,0,119,0,-126,0,-123,0,-112,0,-109,0,-102,0,-99,0,-93,0,-90,0,-89,0,-84,0,-86,0,-82,0,-84,0,-84,0,-88,0,-85,0,-94,0,-92,0,-100,0,-103,0,-109,0,-115,0,-122,0,127,0,120,0,110,0,103,0,94,0,84,0,74,0,66,0,51,0,47,0,30,0,24,0,9,0,3,0,-13,-1,-20,-1,-32,-1,-45,-1,-49,-1,-68,-1,-69,-1,-87,-1,-91,-1,-100,-1,-112,-1,-114,-1,-127,-1,124,-1,119,-1,109,-1,109,-1,100,-1,98,-1,96,-1,89,-1,93,-1,85,-1,90,-1,88,-1,87,-1,92,-1,91,-1,95,-1,99,-1,102,-1,107,-1,114,-1,117,-1,125,-1,-123,-1,-117,-1,-108,-1,-100,-1,-91,-1,-84,-1,-70,-1,-66,-1,-49,-1,-46,-1,-30,-1,-23,-1,-9,-1,-1,-1,10,0,20,0,32,0,42,0,52,0,61,0,73,0,80,0,90,0,101,0,103,0,119,0,118,0,-125,0,-122,0,-114,0,-110,0,-106,0,-101,0,-99,0,-95,0,-94,0,-93,0,-91,0,-93,0,-92,0,-94,0,-97,0,-97,0,-105,0,-104,0,-112,0,-115,0,-123,0,-127,0,120,0,115,0,103,0,100,0,87,0,83,0,68,0,64,0,48,0,44,0,30,0,21,0,11,0,0,0,-11,-1,-18,-1,-33,-1,-39,-1,-51,-1,-62,-1,-68,-1,-80,-1,-88,-1,-96,-1,-105,-1,-111,-1,-120,-1,-124,-1,123,-1,119,-1,113,-1,108,-1,108,-1,100,-1,102,-1,95,-1,98,-1,95,-1,97,-1,96,-1,99,-1,99,-1,103,-1,106,-1,110,-1,116,-1,116,-1,-126,-1,126,-1,-113,-1,-115,-1,-101,-1,-96,-1,-86,-1,-79,-1,-69,-1,-60,-1,-51,-1,-39,-1,-31,-1,-21,-1,-9,-1,-2,-1,11,0,19,0,30,0,39,0,51,0,58,0,68,0,79,0,83,0,97,0,99,0,111,0,115,0,124,0,126,0,-119,0,-119,0,-111,0,-111,0,-104,0,-106,0,-99,0,-101,0,-101,0,-98,0,-103,0,-99,0,-106,0,-105,0,-111,0,-112,0,-120,0,-121,0,127,0,122,0,115,0,108,0,100,0,94,0,84,0,77,0,68,0,57,0,50,0,39,0,31,0,18,0,12,0,-3,-1,-5,-1,-23,-1,-27,-1,-40,-1,-48,-1,-57,-1,-68,-1,-74,-1,-85,-1,-91,-1,-98,-1,-109,-1,-111,-1,-121,-1,-124,-1,124,-1,120,-1,117,-1,112,-1,110,-1,108,-1,104,-1,105,-1,103,-1,104,-1,104,-1,106,-1,108,-1,108,-1,117,-1,113,-1,124,-1,123,-1,-122,-1,-120,-1,-112,-1,-105,-1,-100,-1,-89,-1,-83,-1,-75,-1,-66,-1,-56,-1,-49,-1,-38,-1,-28,-1,-21,-1,-8,-1,-2,-1,10,0,19,0,28,0}; }
	private static byte[] data18(){ return new byte[] {39,0,45,0,59,0,62,0,77,0,78,0,93,0,94,0,105,0,111,0,115,0,124,0,-128,0,-125,0,-118,0,-118,0,-113,0,-109,0,-111,0,-106,0,-108,0,-109,0,-106,0,-111,0,-109,0,-116,0,-115,0,-121,0,-125,0,-127,0,118,0,119,0,108,0,103,0,97,0,86,0,83,0,71,0,66,0,53,0,50,0,35,0,29,0,19,0,9,0,2,0,-10,-1,-19,-1,-27,-1,-37,-1,-45,-1,-57,-1,-62,-1,-72,-1,-80,-1,-86,-1,-96,-1,-101,-1,-107,-1,-115,-1,-119,-1,-124,-1,126,-1,124,-1,118,-1,117,-1,115,-1,112,-1,112,-1,111,-1,109,-1,115,-1,109,-1,119,-1,114,-1,122,-1,122,-1,-128,-1,-122,-1,-120,-1,-113,-1,-106,-1,-102,-1,-92,-1,-86,-1,-81,-1,-68,-1,-65,-1,-53,-1,-46,-1,-36,-1,-28,-1,-19,-1,-8,-1,-1,-1,9,0,18,0,26,0,38,0,43,0,55,0,61,0,70,0,78,0,85,0,91,0,101,0,103,0,114,0,113,0,125,0,123,0,-123,0,-125,0,-119,0,-118,0,-117,0,-114,0,-114,0,-115,0,-115,0,-117,0,-118,0,-120,0,-124,0,-125,0,122,0,124,0,113,0,113,0,102,0,99,0,92,0,81,0,81,0,65,0,66,0,48,0,49,0,31,0,31,0,15,0,11,0,-1,-1,-7,-1,-20,-1,-24,-1,-37,-1,-42,-1,-54,-1,-59,-1,-69,-1,-77,-1,-80,-1,-93,-1,-94,-1,-104,-1,-108,-1,-114,-1,-118,-1,-123,-1,-127,-1,127,-1,122,-1,123,-1,118,-1,119,-1,118,-1,117,-1,120,-1,119,-1,122,-1,123,-1,126,-1,-125,-1,-122,-1,-118,-1,-113,-1,-108,-1,-101,-1,-97,-1,-87,-1,-83,-1,-75,-1,-67,-1,-61,-1,-50,-1,-45,-1,-33,-1,-29,-1,-14,-1,-12,-1,3,0,5,0,19,0,25,0,35,0,43,0,50,0,60,0,65,0,76,0,79,0,89,0,93,0,101,0,106,0,110,0,116,0,120,0,124,0,127,0,-127,0,-125,0,-122,0,-122,0,-121,0,-122,0,-121,0,-125,0,-122,0,126,0,-128,0,122,0,121,0,112,0,113,0,102,0,102,0,92,0,87,0,79,0,74,0,66,0,58,0,51,0,41,0,35,0,24,0,19,0,8,0,1,0,-8,-1,-19,-1,-22,-1,-36,-1,-39,-1,-52,-1,-55,-1,-68,-1,-69,-1,-82,-1,-83,-1,-93,-1,-98,-1,-103,-1,-108,-1,-113,-1,-116,-1,-122,-1,-123,-1,-127,-1,-127,-1,125,-1,126,-1,124,-1,124,-1,127,-1,124,-1,-125,-1,126,-1,-119,-1,-123,-1,-114,-1,-113,-1,-109,-1,-101,-1,-96,-1,-94,-1,-80,-1,-84,-1,-66,-1,-68,-1,-55,-1,-50,-1,-41,-1,-32,-1,-27,-1,-15,-1,-10,-1,1,0,7,0,17,0,24,0,33,0,40,0,49,0,56,0,63,0,71,0,77,0,83,0,91,0,93,0,103,0,103,0,113,0,113,0,118,0,120,0,124,0,124,0,-127,0,126,0,-128,0,-126,0,125,0,-127,0,123,0,124,0,119,0,117,0,115,0,106,0,110,0,94,0,100,0,84,0,86,0,74,0,71,0,63,0,54,0,49,0,40,0,32,0,25,0,15,0,10,0,-1,-1,-7,-1,-16,-1,-25,-1,-30,-1,-42,-1,-45,-1,-57,-1,-59,-1,-72,-1,-72,-1,-84,-1,-85,-1,-96,-1,-95,-1,-106,-1,-105,-1,-112,-1,-116,-1,-116,-1,-121,-1,-122,-1,-124,-1,-124,-1,-126,-1,-124,-1,-126,-1,-122,-1,-123,-1,-119,-1,-117,-1,-116,-1,-109,-1,-107,-1,-103,-1,-96,-1,-94,-1,-85,-1,-81,-1,-75,-1,-67,-1,-63,-1,-51,-1,-50,-1,-36,-1,-35,-1,-22,-1,-16,-1,-9,-1,1,0,7,0,14,0,26,0,28,0,42,0,43,0,56,0,58,0,69,0,72,0,81,0,83,0,93,0,94,0,102,0,104,0,109,0,112,0,114,0,119,0,117,0,123,0,119,0,125,0,119,0,125,0,116,0,123,0,113,0,118,0,109,0,109,0,104,0,99,0,96,0,89,0,86,0,77,0,74,0,65,0,61,0,52,0,46,0,38,0,30,0,26,0,12,0,10,0,1,0,-10,-1,-12,-1,-26,-1,-28,-1,-38,-1,-45,-1,-52,-1,-60,-1,-64,-1,-73,-1,-76,-1,-83,-1,-91,-1,-90,-1,-102,-1,-99,-1,-107,-1,-110,-1,-111,-1,-116,-1,-114,-1,-119,-1,-119,-1,-118,-1,-121,-1,-116,-1,-119,-1,-116,-1,-113,-1,-113,-1,-108,-1,-104,-1,-105,-1,-94,-1,-94,-1,-89,-1,-80,-1,-79,-1,-70,-1,-64,-1,-59,-1,-52,-1,-43,-1,-39,-1,-30,-1,-21,-1,-17,-1,-6,-1,-2,-1,8,0,15,0,22,0,29,0,38,0,42,0,54,0,53,0,69,0,65,0,79,0,79,0,88,0,90,0,97,0,98,0,105,0,106,0,109,0,113,0,111,0,118,0,113,0,118,0,115,0}; }
	private static byte[] data19(){ return new byte[] {117,0,113,0,115,0,109,0,111,0,105,0,103,0,99,0,95,0,90,0,87,0,79,0,76,0,67,0,65,0,55,0,53,0,41,0,37,0,30,0,20,0,17,0,6,0,1,0,-7,-1,-14,-1,-23,-1,-28,-1,-36,-1,-43,-1,-49,-1,-56,-1,-64,-1,-65,-1,-77,-1,-77,-1,-85,-1,-89,-1,-93,-1,-98,-1,-100,-1,-105,-1,-106,-1,-109,-1,-111,-1,-111,-1,-114,-1,-114,-1,-111,-1,-116,-1,-108,-1,-114,-1,-106,-1,-107,-1,-104,-1,-100,-1,-96,-1,-94,-1,-86,-1,-86,-1,-77,-1,-74,-1,-67,-1,-61,-1,-56,-1,-50,-1,-40,-1,-40,-1,-22,-1,-29,-1,-8,-1,-12,-1,3,0,5,0,15,0,21,0,27,0,37,0,40,0,49,0,55,0,61,0,66,0,72,0,77,0,82,0,88,0,90,0,96,0,97,0,103,0,102,0,109,0,105,0,113,0,106,0,114,0,108,0,112,0,108,0,109,0,105,0,103,0,102,0,97,0,95,0,91,0,85,0,81,0,78,0,70,0,67,0,60,0,53,0,48,0,42,0,34,0,29,0,21,0,12,0,10,0,-3,-1,-4,-1,-14,-1,-22,-1,-27,-1,-33,-1,-44,-1,-42,-1,-58,-1,-57,-1,-65,-1,-71,-1,-74,-1,-81,-1,-84,-1,-90,-1,-92,-1,-96,-1,-99,-1,-101,-1,-104,-1,-106,-1,-105,-1,-110,-1,-106,-1,-108,-1,-108,-1,-106,-1,-106,-1,-103,-1,-101,-1,-98,-1,-96,-1,-93,-1,-86,-1,-87,-1,-76,-1,-78,-1,-67,-1,-66,-1,-57,-1,-54,-1,-47,-1,-39,-1,-35,-1,-27,-1,-20,-1,-15,-1,-6,-1,0,0,6,0,13,0,21,0,26,0,34,0,40,0,45,0,53,0,57,0,64,0,69,0,72,0,80,0,81,0,88,0,90,0,94,0,95,0,102,0,98,0,105,0,103,0,105,0,105,0,107,0,102,0,106,0,101,0,102,0,98,0,97,0,92,0,90,0,87,0,80,0,81,0,69,0,71,0,61,0,57,0,52,0,45,0,39,0,35,0,24,0,22,0,12,0,7,0,1,0,-7,-1,-13,-1,-19,-1,-27,-1,-32,-1,-40,-1,-43,-1,-53,-1,-55,-1,-62,-1,-67,-1,-73,-1,-73,-1,-86,-1,-79,-1,-92,-1,-90,-1,-93,-1,-99,-1,-98,-1,-99,-1,-103,-1,-101,-1,-103,-1,-104,-1,-100,-1,-104,-1,-97,-1,-101,-1,-94,-1,-96,-1,-89,-1,-89,-1,-83,-1,-81,-1,-75,-1,-71,-1,-67,-1,-60,-1,-57,-1,-50,-1,-43,-1,-40,-1,-31,-1,-27,-1,-19,-1,-13,-1,-6,-1,-1,-1,6,0,14,0,18,0,26,0,31,0,39,0,43,0,50,0,55,0,60,0,65,0,71,0,72,0,82,0,80,0,87,0,89,0,92,0,94,0,97,0,97,0,99,0,101,0,99,0,102,0,97,0,101,0,96,0,97,0,94,0,90,0,90,0,84,0,84,0,75,0,77,0,66,0,68,0,57,0,56,0,48,0,43,0,40,0,28,0,28,0,17,0,14,0,6,0,1,0,-7,-1,-12,-1,-19,-1,-24,-1,-32,-1,-35,-1,-45,-1,-47,-1,-55,-1,-57,-1,-64,-1,-69,-1,-72,-1,-78,-1,-79,-1,-84,-1,-88,-1,-89,-1,-93,-1,-92,-1,-97,-1,-96,-1,-98,-1,-97,-1,-98,-1,-97,-1,-97,-1,-95,-1,-94,-1,-91,-1,-90,-1,-85,-1,-86,-1,-78,-1,-78,-1,-69,-1,-72,-1,-58,-1,-63,-1,-49,-1,-50,-1,-43,-1,-35,-1,-30,-1,-27,-1,-16,-1,-16,-1,-2,-1,-4,-1,9,0,9,0,21,0,23,0,31,0,35,0,42,0,48,0,52,0,57,0,62,0,66,0,73,0,73,0,80,0,79,0,89,0,84,0,92,0,91,0,92,0,97,0,92,0,98,0,94,0,96,0,93,0,94,0,90,0,91,0,86,0,85,0,81,0,78,0,74,0,71,0,65,0,63,0,55,0,54,0,44,0,43,0,35,0,31,0,23,0,18,0,13,0,4,0,4,0,-9,-1,-10,-1,-19,-1,-23,-1,-30,-1,-34,-1,-42,-1,-45,-1,-52,-1,-55,-1,-62,-1,-62,-1,-74,-1,-68,-1,-81,-1,-76,-1,-85,-1,-85,-1,-87,-1,-91,-1,-89,-1,-93,-1,-92,-1,-94,-1,-92,-1,-94,-1,-90,-1,-92,-1,-88,-1,-89,-1,-83,-1,-83,-1,-80,-1,-74,-1,-75,-1,-67,-1,-66,-1,-57,-1,-59,-1,-46,-1,-51,-1,-36,-1,-37,-1,-29,-1,-22,-1,-20,-1,-10,-1,-7,-1,1,0,4,0,13,0,16,0,25,0,27,0,36,0,38,0,46,0,49,0,56,0,57,0,66,0,65,0,72,0,75,0,79,0,80,0,82,0,88,0,84,0,93,0,86,0,92,0,90,0,92,0,89,0,91,0,87,0,87,0,86,0,82,0,81,0,78,0,72,0,73,0,66,0,63,0,59,0,52,0,53,0,41,0,42,0,31,0,30,0,23,0,18,0,10,0}; }
	private static byte[] data20(){ return new byte[] {7,0,0,0,-7,-1,-9,-1,-20,-1,-19,-1,-30,-1,-33,-1,-39,-1,-44,-1,-48,-1,-54,-1,-56,-1,-65,-1,-63,-1,-72,-1,-70,-1,-79,-1,-76,-1,-85,-1,-80,-1,-87,-1,-86,-1,-87,-1,-89,-1,-88,-1,-89,-1,-88,-1,-87,-1,-87,-1,-84,-1,-84,-1,-81,-1,-77,-1,-77,-1,-71,-1,-70,-1,-66,-1,-59,-1,-60,-1,-50,-1,-50,-1,-42,-1,-39,-1,-32,-1,-30,-1,-20,-1,-18,-1,-11,-1,-6,-1,0,0,5,0,12,0,16,0,21,0,29,0,31,0,39,0,43,0,45,0,56,0,52,0,64,0,62,0,68,0,72,0,73,0,79,0,77,0,84,0,80,0,86,0,86,0,84,0,90,0,83,0,88,0,84,0,85,0,82,0,83,0,76,0,79,0,72,0,71,0,68,0,63,0,60,0,56,0,50,0,48,0,43,0,35,0,35,0,24,0,24,0,16,0,11,0,5,0,1,0,-6,-1,-10,-1,-17,-1,-21,-1,-26,-1,-33,-1,-36,-1,-42,-1,-47,-1,-50,-1,-54,-1,-61,-1,-60,-1,-69,-1,-68,-1,-73,-1,-74,-1,-79,-1,-78,-1,-82,-1,-83,-1,-81,-1,-87,-1,-81,-1,-88,-1,-81,-1,-85,-1,-80,-1,-83,-1,-78,-1,-77,-1,-75,-1,-71,-1,-70,-1,-65,-1,-63,-1,-57,-1,-56,-1,-48,-1,-48,-1,-40,-1,-36,-1,-33,-1,-24,-1,-24,-1,-14,-1,-12,-1,-4,-1,-2,-1,8,0,7,0,19,0,18,0,29,0,28,0,40,0,36,0,49,0,48,0,53,0,60,0,57,0,68,0,66,0,72,0,72,0,77,0,75,0,82,0,77,0,84,0,81,0,82,0,83,0,81,0,81,0,81,0,78,0,78,0,74,0,73,0,71,0,66,0,65,0,61,0,55,0,56,0,46,0,46,0,41,0,33,0,34,0,23,0,23,0,14,0,11,0,6,0,-1,-1,-3,-1,-13,-1,-12,-1,-23,-1,-25,-1,-29,-1,-37,-1,-38,-1,-45,-1,-48,-1,-53,-1,-55,-1,-60,-1,-64,-1,-64,-1,-71,-1,-71,-1,-73,-1,-76,-1,-77,-1,-79,-1,-78,-1,-82,-1,-78,-1,-82,-1,-79,-1,-79,-1,-79,-1,-76,-1,-76,-1,-72,-1,-72,-1,-68,-1,-66,-1,-63,-1,-58,-1,-57,-1,-50,-1,-49,-1,-43,-1,-40,-1,-35,-1,-28,-1,-28,-1,-18,-1,-17,-1,-9,-1,-5,-1,-2,-1,7,0,8,0,17,0,18,0,26,0,29,0,35,0,38,0,43,0,47,0,52,0,53,0,60,0,60,0,64,0,69,0,69,0,71,0,75,0,74,0,76,0,80,0,75,0,81,0,77,0,78,0,77,0,77,0,75,0,73,0,72,0,68,0,68,0,64,0,60,0,59,0,52,0,54,0,43,0,45,0,37,0,34,0,30,0,24,0,20,0,15,0,9,0,7,0,-2,-1,-3,-1,-11,-1,-14,-1,-19,-1,-24,-1,-31,-1,-30,-1,-42,-1,-38,-1,-49,-1,-47,-1,-56,-1,-54,-1,-63,-1,-60,-1,-68,-1,-67,-1,-70,-1,-73,-1,-71,-1,-77,-1,-75,-1,-76,-1,-77,-1,-75,-1,-77,-1,-76,-1,-73,-1,-75,-1,-69,-1,-72,-1,-66,-1,-67,-1,-60,-1,-62,-1,-54,-1,-55,-1,-47,-1,-47,-1,-41,-1,-37,-1,-34,-1,-27,-1,-26,-1,-18,-1,-15,-1,-9,-1,-6,-1,1,0,2,0,13,0,12,0,19,0,25,0,26,0,34,0,37,0,40,0,45,0,50,0,49,0,59,0,55,0,64,0,63,0,67,0,67,0,72,0,69,0,76,0,71,0,76,0,74,0,74,0,76,0,70,0,77,0,67,0,74,0,65,0,68,0,62,0,61,0,59,0,53,0,55,0,44,0,48,0,37,0,38,0,32,0,29,0,22,0,21,0,10,0,14,0,2,0,2,0,-6,-1,-8,-1,-16,-1,-15,-1,-27,-1,-24,-1,-34,-1,-35,-1,-40,-1,-45,-1,-45,-1,-53,-1,-52,-1,-58,-1,-61,-1,-61,-1,-66,-1,-65,-1,-70,-1,-69,-1,-72,-1,-71,-1,-72,-1,-74,-1,-71,-1,-74,-1,-71,-1,-71,-1,-69,-1,-69,-1,-65,-1,-66,-1,-61,-1,-60,-1,-57,-1,-53,-1,-50,-1,-48,-1,-42,-1,-41,-1,-34,-1,-32,-1,-28,-1,-22,-1,-19,-1,-13,-1,-9,-1,-6,-1,1,0,3,0,10,0,14,0,17,0,23,0,26,0,32,0,34,0,41,0,40,0,48,0,49,0,52,0,57,0,58,0,61,0,63,0,65,0,67,0,68,0,70,0,69,0,72,0,70,0,71,0,71,0,69,0,71,0,66,0,69,0,61,0,67,0,57,0,61,0,54,0,52,0,49,0,48,0,39,0,42,0,31,0,34,0,24,0,24,0,18,0,12,0,11,0,3,0,1,0,-4,-1,-10,-1,-12,-1,-19,-1,-20,-1,-28,-1,-29,-1,-36,-1,-37,-1,-41,-1,-46,-1,-47,-1,-54,-1,-53,-1,-57,-1,-58,-1,-63,-1,-64,-1,-65,-1,-67,-1}; }
	private static byte[] data21(){ return new byte[] {-65,-1,-71,-1,-68,-1,-69,-1,-71,-1,-65,-1,-74,-1,-62,-1,-70,-1,-62,-1,-65,-1,-61,-1,-58,-1,-59,-1,-51,-1,-54,-1,-45,-1,-47,-1,-39,-1,-40,-1,-32,-1,-31,-1,-25,-1,-23,-1,-16,-1,-15,-1,-7,-1,-6,-1,1,0,4,0,7,0,16,0,14,0,24,0,24,0,30,0,33,0,39,0,38,0,46,0,45,0,52,0,52,0,57,0,56,0,62,0,60,0,66,0,63,0,66,0,68,0,66,0,69,0,66,0,68,0,66,0,67,0,63,0,65,0,60,0,62,0,55,0,57,0,51,0,52,0,45,0,44,0,40,0,37,0,34,0,26,0,29,0,17,0,22,0,10,0,8,0,6,0,-2,-1,-1,-1,-12,-1,-9,-1,-20,-1,-19,-1,-26,-1,-29,-1,-32,-1,-36,-1,-40,-1,-44,-1,-44,-1,-51,-1,-50,-1,-55,-1,-57,-1,-58,-1,-60,-1,-63,-1,-62,-1,-65,-1,-67,-1,-62,-1,-70,-1,-62,-1,-69,-1,-63,-1,-65,-1,-62,-1,-64,-1,-57,-1,-62,-1,-52,-1,-57,-1,-51,-1,-47,-1,-48,-1,-39,-1,-43,-1,-33,-1,-34,-1,-27,-1,-27,-1,-17,-1,-20,-1,-10,-1,-9,-1,-6,-1,3,0,1,0,11,0,9,0,20,0,17,0,27,0,27,0,32,0,35,0,39,0,41,0,46,0,47,0,51,0,52,0,57,0,54,0,63,0,57,0,64,0,62,0,63,0,66,0,62,0,66,0,63,0,64,0,63,0,61,0,61,0,56,0,61,0,51,0,56,0,48,0,47,0,45,0,42,0,37,0,37,0,30,0,27,0,26,0,18,0,19,0,10,0,10,0,2,0,2,0,-5,-1,-8,-1,-11,-1,-17,-1,-18,-1,-27,-1,-23,-1,-37,-1,-28,-1,-43,-1,-37,-1,-46,-1,-46,-1,-49,-1,-52,-1,-53,-1,-58,-1,-55,-1,-61,-1,-59,-1,-61,-1,-64,-1,-60,-1,-65,-1,-61,-1,-64,-1,-60,-1,-62,-1,-60,-1,-59,-1,-57,-1,-55,-1,-54,-1,-51,-1,-49,-1,-46,-1,-44,-1,-40,-1,-38,-1,-32,-1,-34,-1,-24,-1,-26,-1,-18,-1,-16,-1,-12,-1,-9,-1,-2,-1,-3,-1,7,0,5,0,13,0,15,0,19,0,24,0,26,0,31,0,33,0,37,0,39,0,44,0,45,0,48,0,51,0,52,0,54,0,57,0,57,0,59,0,61,0,58,0,64,0,58,0,61,0,53,0,53,0,46,0,46,0,38,0,38,0,32,0,28,0,27,0,20,0,19,0,14,0,13,0,8,0,8,0,4,0,3,0,0,0}; }
	private static byte[] getData(){
		byte[] data = new byte[22040];
		System.arraycopy(data0(), 0, data, 0, 1024);
		System.arraycopy(data1(), 0, data, 1024, 1024);
		System.arraycopy(data2(), 0, data, 2048, 1024);
		System.arraycopy(data3(), 0, data, 3072, 1024);
		System.arraycopy(data4(), 0, data, 4096, 1024);
		System.arraycopy(data5(), 0, data, 5120, 1024);
		System.arraycopy(data6(), 0, data, 6144, 1024);
		System.arraycopy(data7(), 0, data, 7168, 1024);
		System.arraycopy(data8(), 0, data, 8192, 1024);
		System.arraycopy(data9(), 0, data, 9216, 1024);
		System.arraycopy(data10(), 0, data, 10240, 1024);
		System.arraycopy(data11(), 0, data, 11264, 1024);
		System.arraycopy(data12(), 0, data, 12288, 1024);
		System.arraycopy(data13(), 0, data, 13312, 1024);
		System.arraycopy(data14(), 0, data, 14336, 1024);
		System.arraycopy(data15(), 0, data, 15360, 1024);
		System.arraycopy(data16(), 0, data, 16384, 1024);
		System.arraycopy(data17(), 0, data, 17408, 1024);
		System.arraycopy(data18(), 0, data, 18432, 1024);
		System.arraycopy(data19(), 0, data, 19456, 1024);
		System.arraycopy(data20(), 0, data, 20480, 1024);
		System.arraycopy(data21(), 0, data, 21504, 536);
		return data;
	}
	/** Constructs a new AudioClip with the data from drum-08.wav. */
	public Drum08(){
		data = getData();
		format = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED, (float)(44100.0), 16, 1, 2, (float)(44100.0), false);
		lineInfo = new DataLine.Info(SourceDataLine.class, format, AudioSystem.NOT_SPECIFIED);
		try{ AudioSystem.getLine(lineInfo); }
		catch(IllegalArgumentException ex){ lineInfo = null; ex.printStackTrace(); }
		catch(LineUnavailableException e){}
	}
	/** A separate thread for playing drum-08.wav. */
	private class PlayThread extends Thread {
		private byte[] data;
		private AudioFormat format;
		private DataLine.Info lineInfo;
		private SourceDataLine line = null;
		private boolean playing = true;
		private float volume = 1;
		public PlayThread(byte[] d, AudioFormat f, DataLine.Info i, float v){ data = d; format = f; lineInfo = i; volume = v; }
		public void run(){
			try{
				line = (SourceDataLine) AudioSystem.getLine(lineInfo);
				line.open(format, AudioSystem.NOT_SPECIFIED);
				FloatControl vol = (FloatControl) line.getControl(FloatControl.Type.MASTER_GAIN);
				vol.setValue(volume);
				line.start();
				int written = 0;
				int available;
				while(written < data.length && playing){
					available = Math.min(line.available(), data.length - written);
					line.write(data, written, available);
					written += available;
				}
				int frames = data.length / format.getFrameSize();
				while(line.getFramePosition() < frames && playing) Thread.sleep(0);
			}
			catch(InterruptedException ex){ playing = false; }
			catch(LineUnavailableException ex){}
			if(line != null){ line.stop(); line.flush(); line.close(); }
			playing = false;
		}
		public void interrupt(){ playing = false; }
		public boolean isPlaying(){ return playing; }
	}
	/** A separate thread for looping play of drum-08.wav. */
	private class LoopThread extends Thread {
		private Drum08 clip;
		private boolean looping = true;
		public LoopThread(Drum08 c){ clip = c; }
		public void run(){
			while(looping){
				clip.play();
				while(clip.isPlaying() && looping){
					try{ Thread.sleep(0); }
					catch(InterruptedException ex){ looping = false; break; }
				}
			}
			if(!clip.isLooping()) clip.stop();
		}
		public void interrupt(){ looping = false; }
		public boolean isLooping(){ return looping; }
	}
	/** Plays drum-08.wav from the beginning, even if it is already playing or looping. */
	public void play() { play(0); }
	public void play(float balance){ if(lineInfo == null) return; doPlay(balance); }
	private synchronized void doPlay(float balance){
		doStopPlay();
		playThread = new PlayThread(data, format, lineInfo, balance);
		playThread.start();
	}
	/** Plays drum-08.wav continuously until stopped. */
	public void loop(){ if(lineInfo == null) return; doLoop(); }
	private synchronized void doLoop(){
		doStopLoop();
		loopThread = new LoopThread(this);
		loopThread.start();
	}
	/** Stops play and looping of drum-08.wav. */
	public void stop(){ if(lineInfo == null) return; doStop(); }
	private synchronized void doStop(){
		doStopPlay();
		doStopLoop();
	}
	private void doStopPlay(){
		if(playThread == null) return;
		if(playThread.isPlaying()) playThread.interrupt();
		playThread = null;
	}
	private void doStopLoop(){
		if(loopThread == null) return;
		if(loopThread.isLooping()) loopThread.interrupt();
		loopThread = null;
	}
	/** Tests if drum-08.wav is currently playing or looping.
	 * @return <tt>true</tt> if playing or looping, <tt>false</tt> otherwise */
	public boolean isPlaying(){ if(lineInfo == null) return false; return doIsPlaying(); }
	private synchronized boolean doIsPlaying(){
		if(loopThread == null && playThread == null) return false;
		else if(loopThread == null) return playThread.isPlaying();
		else if(playThread == null) return loopThread.isLooping();
		else return loopThread.isLooping() && playThread.isPlaying();
	}
	/** Tests if drum-08.wav is currently looping.
	 * @return <tt>true</tt> if looping, <tt>false</tt> otherwise */
	public boolean isLooping(){ if(lineInfo == null) return false; return doIsLooping(); }
	private synchronized boolean doIsLooping(){
		if(loopThread == null) return false;
		else return loopThread.isLooping();
	}
}